字符与字节和整数进制转换

现在回想以前所学的东西有一些遗忘,决定在复习一遍,总结一些复习笔记!

计算机语言的发展:

计算语言:

计算机直接识别的语言,二进制(语言),由0和1组成,以而为单位的进制换算数据。计算机底层对数据的处理是靠二进制。使用二进制进行开发是最直接的,原因是计算机底层直接识别的语言就是二进制;但是对于我们开发人员是有难度的。

汇编语言:

汇编语言就是由字母和一些特殊的符号组成,都代表对应意义。
对于我们开发人员阅读性提高,但是计算机不识别,会自动转成
对应的二进制。有个自动转换的过程。

程序设计语言:

纯粹的使用英文单词,阅读性就更高了,但是计算机还是不直接识别,
只识别二进制,所以也有自动转换的过程,将程序设计语言转成二进制
语言。 C C++ C#(微软) java j++(被java干掉了) object-c 、 .net 易语言

思想:

1.面向过程:C
2.面对对象:C++ C# java object-c

字符形式的程序-------->字节形似的程序
所有的高级语言,c c++ c# java对于我们简单易懂,基本都是英文,
字符形式(容易阅读,显示)。
计算机只识别二进制(字节),所以就需要将我们可看可动的字符形式
的程序语言转成计算机可懂的字节形式的语言。

把我们所编写的字符形式程序转成字节形式程序。

什么是字节和字符:

字节(byte):是[计算机]用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符。

字符:字符是指计算机中使用的字母、[数字]、[字]和[符号],包括:1、2、3、A、B、C、~!·#¥%……—*()——+等等

bit:

数据存储是以“字节”(Byte)为单位,数据传输是以大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是最小一级的信息单位。

字符与字节的换算:

英语是ASCII编码,1个字节8位二进制,共有256中组合,排英语的大小写字母,数字和部分符号绰绰有余。
而中文字很多,256完全不够,2个字节8位二进制有65536中组合,用Unicode排就可以排出,甚至一个Unicode可以排完中日韩文所有常用字。

[ASCII码]:一个英文字母(不分大小写)占一个字节的空间,一个中文[汉字]占两个字节的空间。一个[二进制数]字序列,在[计算机]中作为一个数字单元,一般为8位二进制数,换算为[十进制]。最小值0,最大值255。如一个ASCII码就是一个字节。
UTF-8编码:一个英文[字符]等于一个字节,一个中文(含繁体)等于三个字节。
Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。
符号:英文[标点]占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小。不同数量级间

存储单位:

8位一字节 bit 就是0和1 组成的 (010101010) 组成一个字节;
位 字节 千字节 兆字节 兆字节 太字节
bit byte KB MB GB TB
8bit = 1byte ; 1024b = 1kb ; 1024kb = 1MB ; 1024MB = 1GB ; 1024GB = 1TB
因此1024又称为程序员节;
在招聘网站中的 8k,10k 也是根据 千字节(KB)得来的;

整数的进制转换:

进制:单位

  1. 10进制就是以10为单位,逢10进1,所以在10进制数值的各个位上的
    数最大值是9,最小值是0,绝不出现10,因为10就进到上一位去了。
  2. 2进制就是以2为单位,逢2进1,所以在二进制数据的各个位上的数值
    最大是1,最小是0,绝不会出现2。
    计算机直接识别的语言是二进制,就是0 1组合。
  3. 8进制就是以8为单位,逢8进1,所以在8进制数据的各个位上的数值
    最大是7,最小是0,不会出现8。
    8进制数据是以 0开始为标识。
  4. 16进制就是以16为单位,逢16进1,所以在16进制数据的各个位上的
    数值最大是15,最小是0,不会出现16。
    16进制数据是以 0x开始作为标识
    数字只有09,1015是分别用字母 a~f

10进制和2进制的转换:
一、10转2:
10进制数无限除以2,倒叙取余。

2转10:
2进制数从最高位开始,当前位上的数乘以二进制的总位数
-1的2的次方,后面以此类推,最后累加和,即是其对应的10
进制数。
十和二的转换.png
二进制的基数表:
         1    1     1      1     1     1    1   1
         128  64    32     16    8     4    2   1

如果是0就没有值,是1就是对应的值,然后相加!就是二进制对应的十进制数!
比如:
二进制转成十进制:就是一个成语2的次幂额过程。
0000 0110: 02(0)+12(1) + 12(2) + 0 2(3)+0*2(4)...........= 6
0 + 2 + 4 + 0 +0.............. . = 6
快速计算法:心算
0000 0110: 对应的位置: 进行相加 0 + 2 +4 = 6
2转10:
2进制各个位上的数不是1就是0,1乘以其基数就是基数,0
乘以任何数都是0。直接二进制位上是1的基数相加即可。

10转2:
通过二进制的基数表去拼10进制数,那么该二进制就是该
10进制数的二进制数。


010010110 ---> 150
17 ----> 10001
26 ----> 11010

在java中整数默认是32为的二进制的整数
有效二进制,能够表示数值的最短的二进制。
3 ---> 011(有效二进制数)
3 ---> 0000-0000 0000-0000 0000-0000 0000-0011
上面两个3占用的内存空间不一样,而表示的值的大小一样。

8位1字节,8个二进制位是一个字节:
8 bit = 1 byte

.class文件叫字节码文件:
.class文件是将.java源文件中的源代码编译成的计算机识别、
二进制数据,却叫字节码。因为在计算机中对于二进制的处理
的最小单位是字节,即使不够呢以字节也按1字节去分配空间。

规定:
1.二进制数最高位是1表示负数,最高位是0表示正数。
2.正数: 6
原码:就是其对应的二进制数
0000-0000 0000-0000 0000-0000 0000-0110
反码:和其原码一致
0000-0000 0000-0000 0000-0000 0000-0110
补码:和其原码一致
0000-0000 0000-0000 0000-0000 0000-0110

负数:-6
原码:是其相反数(对应的正数)的二进制数,
最高位(符号位)换成1。
1000-0000 0000-0000 0000-0000 0000-0110
反码:原码除了符号位,其它位都做0 1互换
1000-0000 0000-0000 0000-0000 0000-0110
1111-1111 1111-1111 1111-1111 1111-1001
补码:是其反码+1
1111-1111 1111-1111 1111-1111 1111-1001
0000 0000 0000 0000 0000 0000 0000 0001
1111-1111 1111-1111 1111-1111 1111-1010

数值在内存中的二进制的表示形式都是其补码。

二、8进制和10进制的转换:

10和8.png

10转8:
10进制数无限除8,倒序取余。
8转10:
从8进制的最高位开始,当前位上的数乘以8进制数的总位数-1的
8的次方,以此类推,累加和。
三、10进制和16进制的转换:

10和16.png

10转16:
10进制数无限除16,倒叙取余.
16转10:
从16进制数的最高位开始,当前位上的数乘以16进制数的总位数-1
的16的次方,以此类推,累加和。
四、8进制和2进制的转换:
2转8:

8和2.png
2的3次方是8,3个二进制位是1个8进制位。
将2进制数每3位一组,每组转成其对应的10进制数,就是
一个8进制数,然后将所有的8进制数连接就组成完整的
8进制数。

000 110 101 110
0    6   5   6
0656

46+128+256=430
6*64+40+6=430

8转2:
就是将1个8进制位的数转成3位的二进制数,拼接起来
就是完整的2进制数。
 
0656
000 110 101 110

五、16进制和2进制的转换:

16和2.png
2转16:
4个二进制位是1个16进制位。
将二进制数每4位分成一组,转成对应的10进制数,
拼接起来就是完整的16进制数。

0001 1010 0110
 1    10    6
 0x1a6

16转2:
将16进制数的位上的每个数转成对应的4位的2进制数,连接
起来就是完整的2进制数。

  0x1a6
  0001  1010  0110
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容