-
將十進位轉換為 2 8 10 16。
函式原型:char *itoa(int value,char *string,int radix);
value 是要轉換的數字,十進位中的基數。
如何使用:char s2[100]; 轉換二進位檔案。
int value=10;
itoa(value,s2,2);
這是我寫的乙個示例,該示例已通過您的外觀進行除錯。
int main()
int n;
char s2[100];儲存二進位檔案。
char s8[100];枕骨沉積物。
char s10[100];儲存十進位字元 S16[100]; 儲存十六進製 while(1)。
cout<<"輸入要轉換的數字(輸入小於 0 的數字退出程式):";
cin>>n;
if(n<0)
break;
itoa(n,s2,2);將 N 轉換為二進位 iTOA(N,S8,8); 將 n 轉換為八進位 Itoa(N,S10,10); 將 n 轉換為十進位 iToa(N,S16,16); 將 n 轉換為十六進製 cout <<"轉換二進位檔案為:"
-
在計算機中,一般是二進位、八進位、十進位和十六進製之間的轉換,主要是圍繞二進位進行轉換,也就是說,二進位是核心。
**上傳失敗。 image-9e6904-1533226303616)]
第二種:直接法 - 將十進位轉換為八進位或十六進製,然後除以 8 或 16 取餘數,直到商為 0。
方法是:對八進位數和十六進製數進行加權和相加,得到十進位數。
首先,它們之間的轉換可以轉換為二進位,然後再相互轉換。
第二:它們之間的轉換可以先轉換為十進位,然後再相互轉換。
當資料儲存在記憶體中時,它以二進位形式儲存。 int num = 10;原始程式碼、逆程式碼和互補程式碼都是二進位程式碼。 這只是二進位的不同表現形式。 資料儲存在補碼的二進位中。
1 個 int 型別的變數。 它在 32 位編譯器記憶體中占用 4 個位元組(int 型別的確切位元組數在這裡不單獨討論,如果你不理解它,請參閱下面的擴充套件)。
如果最大值為 0,則該數字為 1 正數。
如果最大值為 1,則該數字為 1 個負數。
最高位表示符號位。 剩餘的位數。 是此數字的絕對值的二進位。
絕對值:正數的絕對值是它本身,負數的絕對值減去負號。
正數的反程式碼是它的原始程式碼。 負數的倒數基於其原始程式碼,符號位保持不變,其他位被否定。
正數的補碼是它的原始程式碼。 負數的補碼是其倒數之上的 +1
任何資料都以二進位補碼的形式儲存在記憶體中
計算機中只有加法,沒有減法。 為了以較低的成本計算結果,使用補碼儲存資料。
3 - 2;這種減法運算被計算機理解為 3 + 2);
-
鹼基之間的轉換:
1. 十進位到二進位。
方法是:十進位數除以2餘數法,即十進位數除以2,餘數是權重上的數字,得到的商繼續除以2,這一步繼續向下操作,直到商為0。
2.二進位到十進位。
方法是:根據權重將二進位數相加,得到十進位數。
3.二進位到八進位。
方法如下:將3位二進位數相加,通過加權得到1位八進位數。 (注意 3 位二進位到八進位的轉換是從右到左,不足時加 0)。
4.八進位到二進位。
方法是:將八進位數除以2得到二進位數,每個八進位為3個二進位,不足時加最左邊的零。
5. 二進位到十六進製。
該方法類似於二進位到八進位方法,八進位是取三合一,十六進製是取四合一。 (注意 4 位二進位到十六進製的轉換是從右到左,不足時加 0)。
6. 十六進製到二進位。
方法如下:將十六進製數除以2得到二進位數,每十六進製為4個二進位數,不足時加最左邊的零。
鹼基轉換的本質
“數字系統”只是乙個符號系統,用於表示要引用的“數量”的數量。 我們用符號“1”來表示這個“數量”的概念。 自然界中的“量”是無限的,我們不可能為每個“量”創造乙個符號,也沒有人記得這樣的系統。
因此,有必要使用有限符號按照一定的規則進行排列和組合,以表示這個無限的“量”。
符號是有限的,根據一定的規則,這些符號的組合數量是無限的。 十進位是 10 個符號的排列,二進位是 2 個符號的排列。 在基礎轉換方面有乙個基本原則:
轉換後表示的“金額”金額無法更改。 二進位的 111 個蘋果與十進位的 7 個蘋果一樣多。
-
基本轉換演算法如下:
1.十進位轉二進位:將十進位數除以2取餘數,即十進位數除以2,餘數為權重上鏈的數,得到的商繼續除以2,這一步就是直到商為0。
2.二進位到十進位:根據權重把二進位數,加起來得到十進位數。
3.二進位到八進位:根據權重加3位二進位數得到1位八進位數(注:3位二進位到八進位由右向左轉換,不足時加0)。
4.八進位轉二進位:八進位數除以2取餘數得到二進位數,每個八進位為3個二進位,不足時加0到最左邊。
5.二進位轉十六進製:(類似於二進位轉八進位的方法)十六進製四捨五入(注:4位二進位轉為十六進製由右向左轉換,不足時加0)。
6.十六進製到二進位:將十六進製數除以2取餘數,二進位數由輪子呼叫,每個十六進製系統為4個二進位,不足時在最左邊補0。
7.八進位到十進位:稱量八進位數並將它們相加得到十進位數。
8.十進位到八進位:將十進位數除以8,按權重,直到商為0,然後從右邊的最後乙個得到的剩餘數字為八進位數。
9. 十六進製到八進位:先到二進位,然後到八進位。
10. 八進位到十六進製:先是二進位,然後是八進位。
其他額外設施:
二進位:二進位(b)由。
八進位:八進位(o)由0-7組成(每8比1)。
Decimal(d) 由 0-9 組成。
十六進製:十六進製(h)由abcdef組成,對應10-15。
-
C 中最常用的語言是十進位、二進位、八進位(用 0 表示)和十六進製(用 0x 表示)。
十進位到二進位:
將十進位到二進位系統除以 2,取餘數。
將十進位數除以 2 得到商和餘數,然後將商除以 2,直到商為 0,得到的餘數反轉為轉換為二進位的結果。
二進位到十進位:
從右到左,將二進位位上的每個數字乘以相應的 2 次冪。
如二進位 1010 到十進位:
1010 = 0 * (2 的 0 次方) + 1 * (2 的 1 次方) + 0 * (2 的 2 次方) + 1 * (2 的 3 次方) = 2 + 8 = 10
八進位轉換為二進位。
將二進位數從右到左每三位數字分成一段(如果少於三位,則填寫 0),然後將二進位的每三位數字轉換為乙個八進位數。
例如,將二進位數 0101010 轉換為八進位:
0 101 010 不足以讓三位數彌補 0 才能得到。
000 101 010 = 052 = 0052(八進位用 0 表示)。
十六進製轉換為二進位。
將二進位數從右到左每四位數字分成一段(如果少於三位,則使用 0),然後將二進位的每四位數字轉換為乙個十六進製數。
例如,將二進位數 0101100 轉換為十六進製:
010 1100 不足以彌補三位數的 0。
0010 1100 = 2c = 0x2c(十六進製用 0x 表示)。
-
<>2.然後,在開啟的計算器中,單擊左上角標準左側的三水平圖示。
3.接下來,單擊 程式設計器 在三個水平線的下拉選單中。
4. 然後,點選計算器底部的操作赤字面板,輸入十進位值。
5.最後可以看到該值顯示在左側bin後面(bin是binary的意思),點選bin後,轉換為二進位智慧系統的值出現在計算器的顯示頁面上。
-
任何基本系統之間的基本轉換。 有必要考慮高精度整形的設計,並使用陣列來模擬整形變數。 演算法思路與十進位轉換為二進位相同,除以目標基數,餘數為低位。
這種基礎轉換不是很實用,一般在電腦程式競賽中都可以找到。
8、10、10 十進位轉換。 C 語言中有許多函式可以在上述 base 之間轉換 base。
推薦使用 sprintf sscanf 函式。
sprintf 格式的規格如下。 中的部分是可選的。
指定引數] [identifier] [width] [.]。精度]指示器(如果要輸出)'%'當本身時,請使用'%%'處理。
1.處理字元方向。 負號表示它是從後到前處理的。
2.填空。 0 表示用 0 填充空格;空間是內部固定值,這意味著空間是放置的。
3.字元的總寬度。 是最小寬度。
4.精度。 指小數點後浮點位數。
轉換字元。 % 列印有百分號,並且不會轉換。
c 整數設定為相應的 ASCII 字元。
d 將整數轉換為小數位。
將 F 精度數字轉換為浮點數。
o 將整數轉換為八進位位數。
s 整數轉換為字串。
x 整數到小寫的十六進製位。
x 整數轉換為大寫的十六進製。
例程(十六進製和十進位十六進製之間的轉換):
#include
#include
int main()
sprintf(s, "%x", int_max);
printf("%s", s); // 7fffffffchar str[100] = "7fffffff";
int i = 0;
sscanf(str, "%x", &i);
printf("%d", i); // 2147483647return 0;}
-
第乙個告訴你原理,第二個告訴你如何使用它,我推薦下乙個 sprintf 來格式化字串。
在標頭檔案中包含。
語法: string sprintf(string format, mixed [args]..
傳回值:String。
1.處理字元方向。 - 從後到前處理手錶時為負號。
2.填空。 0 表示用 0 填充空格;空間是內部固定值,這意味著空間是放置的。
3.字元的總寬度。 是最小寬度。
4.精度。 指小數點後浮點位數。
轉換字元。
% 列印有百分號,並且不會轉換。
b 將整數轉換為二進位位。
c 整數設定為相應的 ASCII 字元。
d 將整數轉換為小數位。
將 F 精度數字轉換為浮點數。
o 將整數轉換為八進位位數。
s 整數轉換為字串。
x 整數到小寫的十六進製位。
x 整數轉換為大寫的十六進製。
在C++中儲存負數時,符號位置不是簡單的1,而是以補碼的形式,負數的最高位數是符號位,即1,其餘全部反轉,然後加1。 >>>More