10进制化成16进制

把10进制数化成16进制数

十进制整数转换r进制(r可以是任何整数,比如3、5、7)整数,方法就是除r取余,十进制转八或十六进制方法类似转二进制,除以基数取余就行了,比如转八进制就除8,转十六进制就除16。
二进制和八进制、十六进制之间转换采用的是分组转换法,因为2、8、16之间是存在幂的关系的。所以,二级制转八进制,以小数点为中心向两边(二进制小数也可以转为八进制小数)分组,每3位为一组,因为2的3次方=8,然后将各组直接写成相应的八进制数就可以了(3位二进制数最大是7,不会超过8)。转十六进制类似,只是这时候需要每4位分一组。反过来,八进制、十六进制转二进制就简单了,只要把每一位都写成二进制数就行了。八进制和十六进制之间一般借助二进制来转换,不容易出错。
十进制小数转r进制小数,方法为乘r取整,每次乘以相应之后基数后取结果的整数部分即可。需要注意的是并非所有的十进制小数都能完全转化为r进制小数,这时就需要取近似值。
二进制(包括小数)转为十进制数时,采用乘权相加法,每一位数乘以相应位的权制然后相加就ok。比如1101.101这个数,以小数点为中心,向左每位权值分别为1、2、4、8,向右每位为0.5、0.25、0.125(也就是二分之一、四分之一、八分之一)。正数1101.101b=1*1+0*2+1*4+1*8(整数部分)+1*0.5+0*0.25+1*0.125(小数部分)=13.625d。八进制、十六进制转十进制方法类似,只要你搞清楚每位的权值就行了。
如此详细,得分当之无愧。

十进制怎么快速转换成 16进制

用短除法。用16作除数,去除需要转换的十进制数,记下商和余数,再用16作除数,去除上一步的商,记下商和余数,……,直到商为零。

把每一步得到的余数逆序排列,就是转换成的16进制。

例如:

把256转换成16进制。

256÷16=16……0,

16÷16=1……0,

1÷16=0……1,

所以,256转换成16进制就是100。

扩展资料

十进制

人类天然选择了十进制。

由于人类解剖学的特点,双手共有十根手指,故在人类自发采用的进位制中,十进制是使用最为普遍的一种。成语“屈指可数”某种意义上来说描述了一个简单计数的场景,而原始人类在需要计数的时候,首先想到的就是利用天然的算筹——手指来进行计数。

十进制编码几乎就是数值本身。

数值本身是一个数学上的抽象概念。经过长期的演化、融合、选择、淘汰,系统简便、功能全面的十进制计数法成为人类文化中主流的计数方法,经过基础教育的训练,大多数的人从小就掌握了十进制计数方法。盘中放了十个苹果,通过数苹果我们抽象出来“十”这一数值,它在我们的脑海中就以“10”这一十进制编码的形式存放和显示,而不是其它的形式。从这一角度来说,十进制编码几乎就是数值本身。

十进制的基数为10,数码由0-9组成,计数规律逢十进一。

参考资料:进制-百度百科

十进制怎样直接转换成十六进制

10进制数转换成二进制数,这是一个连续除2的过程:
把要转换的数,除以2,得到商和余数,
将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转换结果。
 
听起来有些糊涂?我们结合例子来说明。比如要转换6为二进制数。
 
“把要转换的数,除以2,得到商和余数”。
那么:
要转换的数是6,
6
÷
2,得到商是3,余数是0。
(不要告诉我你不会计算6÷3!)
“将商继续除以2,直到商为0……”
现在商是3,还不是0,所以继续除以2。
那就:
3
÷
2,
得到商是1,余数是1。
 
“将商继续除以2,直到商为0……”
现在商是1,还不是0,所以继续除以2。
那就:
1
÷
2,
得到商是0,余数是1
(拿笔纸算一下,1÷2是不是商0余1!)
 
“将商继续除以2,直到商为0……最后将所有余数倒序排列”
好极!现在商已经是0。
我们三次计算依次得到余数分别是:0、1、1,将所有余数倒序排列,那就是:110了!
 
6转换成二进制,结果是110。
 
把上面的一段改成用表格来表示,则为:
被除数
计算过程

余数
6
6/2
3
0
3
3/2
1
1
1
1/2
0
1
(在计算机中,÷用
/
来表示)

10进制怎么转换成16进制

有一个函数。我给你。
有时候我们要用到10进制与其他进制之间的转换,如10-16进制的转换。在此我编写了一个函数,可以方便的把10进制转换到其他进制。
  函数为changejz(long shi,int how )其中参数shi为要转换的10进制数据,how为要转换到的进制类型,取值为2,8,16三个,整个函数的返回值为string型。
  大家都知道,要把10进制转换到诸如8进制,首先得转换到2进制,再由2进制转换到8进制,所以函数的第一步为:把输入的数据都由10进制转换到2进制。
2进制 8进制 10进制 16进制
10110010 262 178 B2
10110111011 2673 1467 5BB
  函数整体代码如下:(以下列举数字时都以10进制1467为例子)

string two,sixteen,eight //定义三个字符串变量,用来存放最后输出的进制值
long lentwo,duan,i,j
string aa,a,b //定义数组
//先把10进制数据通过取余数转换成2进制
//由于10进制到2进制的转换是通过取余数实现,所以这里用到的mod()函数,通过实//践,发现这样4行代码就可以把10进制转换到2进制
do while shi》 0
two = two + string(mod(shi,2))
shi=shi / 2
loop
choose case how //选择输出进制
case 2 //选择2进制
//由于上面得到的2进制的数据方向是相反的:11011101101,所以要通过reverse()函数重新//把它颠倒过来
two=reverse(two) //得到正确的2进制10110111011
return two //返回函数值
case 8 //选择8进制
//2进制到8进制的转换是这样的,从右往左每3位为一个段,即8进制的一位,
lentwo=len(two) //取2进制的长度
if mod(lentwo,3) 》 0 then //分段
duan=lentwo / 3 + 1
else
duan=lentwo /3
end if
for i= duan to 1 step -1 //由于没有颠倒过来的2进制是从右往左的,所以//分出来的段从左往右就是由大到小
aa[duan]=mid(two,i * 3 – 2 ,3) //取出每一段的2进制值
a[duan]= ’0 ’
for j=1 to 3
b[j]=mid(aa[duan],j,1) //每一段从右往左取值
if b[j] 《》 ’ ’ then
a[duan]=string(integer(a[duan]) + 2^(j -1 ) * integer(b[j]))
//按照2^0 * x + 2^1 *x +2^2 * x
//x为分别为从右到左的2进制的值,累加得到每一段的8进制值
end if
next
eight=eight + a[duan] //8进制段累加得到最后的8进制值
next
return eight
//16进制的方法如同8进制,只是每4位为一段而已
case 16 //16进制
lentwo=len(two)
if mod(lentwo,4) 》 0 then
duan=lentwo / 4 + 1
else
duan=lentwo /4
end if
for i= duan to 1 step -1
aa[duan]=mid(two,i * 4 – 3 ,4)
a[duan]= ’0 ’
for j=1 to 4
b[j]=mid(aa[duan],j,1)
if b[j] 《》 ’ ’ then
a[duan]=string(integer(a[duan]) + 2^(j -1 ) * integer(b[j]))
end if
choose case integer(a[duan])
case 10
a[duan]= ’A ’
case 11
a[duan]= ’B ’
case 12
a[duan]= ’C ’
case 13
a[duan]= ’D ’
case 14
a[duan]= ’E ’
case 15
a[duan]= ’F ’
end choose
next
sixteen=sixteen + a[duan]
next
return sixteen
case else
end choose

怎样将10进制转换成16进制

手写转换
  1
  把十进制数除以16,保留余数部分。得到余数以后就不要再往下除得小数了。
  2
  写下余数部分,在右下角标上16。比如剩下的是11,写成b,右下方写16。查查如何理解十六进制数来了解一下十六进制所用的符号。
  3
  把之前的整数商再除以16,得到余数部分,然后再在这个余数右下角标上16
  4
  重复以上步骤,直到得到一个小于16的商。每一次都把余数右下方标上16,注意我们也需要写下最后得到的商(即小于16的商)
,并转为十六进制。
  5
  把余数和最后的商从左到右按顺序写下,最右是商。得到的十六进制就是这个数,从右往左读。比如读作2f34,实际上的值是43f2。