c语言整形符号位_C语言中整型无符号二进制数的表示问题
龍?jiān)雌诳W(wǎng)
http://www.qikan.com.cn
C
語(yǔ)言中整型無(wú)符號(hào)二進(jìn)制數(shù)的表示問(wèn)題
作者:馬紅旭
來(lái)源:《電子技術(shù)與軟件工程》
2015
年第
20
期
摘
要
文章解決的問(wèn)題是
C
語(yǔ)言中幾種不同數(shù)制的數(shù)值型無(wú)符號(hào)整型數(shù)據(jù),轉(zhuǎn)換成二進(jìn)制數(shù)的方
法。
【關(guān)鍵詞】
C
語(yǔ)言
無(wú)符號(hào)整型數(shù)據(jù)
二進(jìn)制數(shù)
十進(jìn)制數(shù)
其它進(jìn)制數(shù)
對(duì)于
C
語(yǔ)言中的數(shù)值型數(shù)據(jù),通常可以方便地表示成多種不同數(shù)制。比如十進(jìn)制數(shù)
100
,
表示成八進(jìn)制數(shù)為
0144
,八進(jìn)制數(shù)以
0
開頭,表示成十六進(jìn)制數(shù)為
0x64
,十六進(jìn)制數(shù)以
0X
開
頭。然而
C
語(yǔ)言卻沒有直接的二進(jìn)制表示辦法,這里將討論,把幾種不同數(shù)制無(wú)符號(hào)整型數(shù)
據(jù),表示成二進(jìn)制數(shù)的方法。另外還討論了把二進(jìn)制無(wú)符號(hào)數(shù)表示成十進(jìn)制的方法。
1
十進(jìn)制無(wú)符號(hào)整數(shù)表示成二進(jìn)制數(shù)
十進(jìn)制無(wú)符號(hào)整數(shù)轉(zhuǎn)換為二進(jìn)制數(shù),采用
“
除
2
取余
”
,余數(shù)逆序排列法。具體步驟是:用
2
整除十進(jìn)制整數(shù),可以得到一個(gè)商
Q0
和余數(shù)
D0
;再用
2
去除商
Q0
,又會(huì)得到一個(gè)商
Q1
和
余數(shù)
D1
,接著用
2
去除商
Q1
,又會(huì)得到一個(gè)商
Q2
和余數(shù)
D2
,依此類推,直到商
Qn
為
0
時(shí)
停止,然后把先得到的余數(shù)
D0
作為二進(jìn)制數(shù)的低位有效位,后得到的余數(shù)
Dn
作為二進(jìn)制數(shù)
的高位有效位,依次排列起來(lái)得到:
Dn…D4D3D2D1D0
,這個(gè)
Dn…D4D3D2D1D0
就是我們需
要的十進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)的結(jié)果。
根據(jù)上述原理,我們編寫了一個(gè)轉(zhuǎn)換函數(shù)
tentow
(),函數(shù)功能是:用戶輸入一個(gè)十進(jìn)制
數(shù),程序自動(dòng)把它對(duì)應(yīng)的二進(jìn)制數(shù)顯示出來(lái)。
程序代碼如下:
#include?"stdio.h"
void?tentow
()
{int?a[32]
,
i=0
;
long?num
;
printf
(
"
請(qǐng)輸入一個(gè)十進(jìn)制無(wú)符號(hào)整數(shù):
"
);
scanf
(
"%ld"
,
&num
);
總結(jié)
以上是生活随笔為你收集整理的c语言整形符号位_C语言中整型无符号二进制数的表示问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 迁移confluence
- 下一篇: NXP JN5169 UART波特率问题