本文目錄一覽:
- 1、二進制、八進制、十進制、十六進制,在C語言中用在哪裡
- 2、c語言中二進制 十進制 八進制 十六進制之間的換算?
- 3、c語言的二進制、八進制、十六進制之類的進制是什麼意思?舉幾個例子。
- 4、那位高人能給我講講C語言中二進制,八進制,16進制是怎麼換算的?謝謝了!!!
- 5、c語言中的二進制,八進制,十進制,十六進制都怎麼算……,可否舉例,謝?
二進制、八進制、十進制、十六進制,在C語言中用在哪裡
二進制是計算機在實際計算中使用的計數方式,存儲和運算都是二進制的
八、十、十六進制是在編程時,不方便使用二進制(位數多,凌亂,不直觀),所以用這些進制來寫到程序中,計算機在編譯時會將它們轉換成二進制數據來用。所以這些進制是方便程序設計者寫程序的。
c語言中二進制 十進制 八進制 十六進制之間的換算?
二進制的1101轉化成十進制
1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13
轉化成十進制要從右到左用二進制的每個數去乘以2的相應次方
不過次方要從0開始
十進制轉二進制:
用2輾轉相除至結果為1
將餘數和最後的1從下向上倒序寫
就是結果
例如302
302/2
=
151
餘0
151/2
=
75
餘1
75/2
=
37
餘1
37/2
=
18
餘1
18/2
=
9
餘0
9/2
=
4
餘1
4/2
=
2
餘0
2/2
=
1
餘0
1/2
=
餘1
故二進制為100101110
二進制轉八進制
在把二進制數轉換為八進制表示形式時,對每三位二進制位進行分組,應該從小數點所在位置分別向左向右劃分,若整數部分倍數不是3的倍數,可以在最高位前面補若干個0;對小數部分,當其位數不是的倍數時,在最低位後補若干個0.然後從左到右把每組的八進制碼依次寫出,即得轉換結果.
你算一下就知道了啊
比如110=2^2+2+0=6
二進制轉十六進制
要將二進制轉為16進制,只需將二進制的位數由右向左每四位一個單位分隔,分的不夠的前邊補零,用四位數的二進制數來代表一個16進制。轉換表如下,括號內為十六進制
0000(0)
0001
(1)
0010
(2)
0011
(3)
0100
(4)
0101
(5)
0110
(6)
0111
(7)
1000
(8)
1001
(9)
1010(A)
1011
(B)
1100
(C)
1101
(D)
1110
(E)
1111
(F)
例如:10101011劃分為1010
1011,根據轉換表十六進制為AB
c語言的二進制、八進制、十六進制之類的進制是什麼意思?舉幾個例子。
進制—即逢幾進一的意思;二進制即逢二進一,八進制即逢八進一,十六進制即逢十六進一
如:十進制逢時進一,計數規則為:0、1、2、3、4、5、6、7、8、9;數到10的時候向前進1變為10、11等等
二進制是逢二進一,計數規則為0、1,該數到2時向前進1,變為10(對應十進制的2)、11(對應十進制的3)
那位高人能給我講講C語言中二進制,八進制,16進制是怎麼換算的?謝謝了!!!
二進制轉換含小數點部分
十六進制大同小意,把除以二的數改成16就可以了,如果不明白加我百度HI
#include
stdio.h
void
bit(int
a);
void
bit2(double
a);
int
main()
{
double
a;
int
b;
scanf(“%lf”,a);
b
=
(int)a;
printf(“%d”,b);
if((a-b)0(a-b)1)
{
bit(b);
bit2(a-b);
}
else
bit(b);
}
void
bit(int
a)
{
if(a0)
bit(a/2);
printf(“%d”,a%2);
}
void
bit2(double
a)
{
static
int
c
=
0;
if(c==0)
printf(“.”);
printf(“%d”,(a*21)?(int)(a*2):0);
if(a==0||c5)
{
++c;
bit2(a*2-(int)(a*2));
}
}
c語言中的二進制,八進制,十進制,十六進制都怎麼算……,可否舉例,謝?
先講一下,二進制與十進制。
以10為例,過程如圖。
10進制轉化為二進制
10÷2=5….0(餘數為0)
5÷2=2….1(餘數為1)
2÷2=1….0
1÷2=0….1
然後,非常重要的一步,將餘數倒序相加
即:1010
這裡特地說明一下,當被除數比除數小時,餘數永遠為它自己。
如:8÷10 餘數為8
二進制轉化為十進制
1010
從 右 算起分別對應 :
1 2 4 8
也就是 2的1次方,2次方,3次方
第三步,小數部分怎麼計算呢
如10.1
很簡單,將0.1乘以2
在乘到整數之前,將結果的整數取出。
如:
0.1×2=0.2…..0
0.2×2=0.4…..0
0.4×2=0.8……0
0.8×2=1.6……1
正序排下來: 0001
至於八進制和十六進制,其實是一樣的方法。就是把2換成8。
順便說一下,如果你是要做開發而不是考試的話可以直接用win系統自帶的計算器,選擇「程序員」 模式可以直接得到2.8.10.16進制的所有結果。
原創文章,作者:RAHQ,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/142158.html