C#.NET之计算机数据存储以及进制之间的转换

mac2026-04-05  7

一.数据的存储方式?

机器以正负电子的排列等方式来记录二进制数据.

每个单元格的单位是比特-bit

最小的字符单元是字节-byte 1byte=8bit

kb 1kb=1024byte

mb 1mb=1024kb

gb

tb

pb....

 

二.进制之间的转换.

进制有哪些?

二进制.八进制.十进制.十六进制.

十进制转换

1.十进制转任意进制

给目标数字除以进制数,写余数,除到商为0,余数颠倒

例如:18转二进制=0b10010

2.任意进制转十进制

给数字进行从右至左进行编号(索引),每个位数乘以进制数的编号次方之和

例如:0b1010101=85

任意进制之间的转换

利用8421码

将每个二进制对应的位上计算一个固定的十进制数

1111

8421

二进制2位数组合

八进制3位数组合

十六进制4位数组合

例:

将0b1011101转成8进制==》

001 011 101

1 3 5 =135

转成16进制

0101 1101

5 13 =5D

以十进制为桥梁

x进制>十进制>y进制

十进制负整数转二进制算法

将十进制输出转化成二进制数,不管符号。

对转化的二进制数逐位取反

对取反后的二进制数加1,结果就是十进制负数转化成的二进制数

例子:-122转成2进制

先把122转成二进制:计算机中存储的是64bit的大小字节=8byte

0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0111 1010

对二进制逐位取反:

1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1000 0101

取反后加1:

1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1000 0110

 

最新回复(0)