有没有想过,大脑计算能力会提高
有没有想过,大脑计算能力会提高
个人感觉
初步学习计算机编程会有很多疑问,什么是汇编语言,什么高级语言,下面就是汇编语言的一些学习分享。
首先搞定计数制
计算机内部算法主要有一下几熟悉几种;ASCII码,机内码,Unicode编码和UTF-8编码。
对于编码如下可详细了解
ASCII码:点击这里,查看详情
机内码:点击这里,查看详情
Unicode编码:点击这里,查看详情
UTF-8编码:点击这里,查看详情
计数制
计数制主要有:
十进制(Decimal)
十进制用0~9共10个数码表示,其基数为10,运算规则为逢十进一,各位权是
1
0
i
10^{i}
10i
整数部分最低位位权位为 1 0 0 10^{0} 100 | 其余各位位权从右至左指数依次增大 |
---|---|
小数部分最低位位权位为 1 0 − 1 10^{-1} 10−1 | 其余各位位权从右至左指数依次减少 |
十进制数后缀字母为D | – |
二进制(Binary)
二进制用0和1两个数码来表示,其基数为2,运算规则逢二进一,各位权是
2
i
2^{i}
2i
二进制数后缀字母为B |
---|
八进制(Octal)
八进制用0~7共8个数码来表示,其基数为8,运算规则为逢八进一,各位权是
8
i
8^{i}
8i
八进制数后缀字母为O或Q |
---|
十六进制(HexaDecimal)
十六进制用0~9、A、B、C、D、E、F共16个数码来表示,其基数为16,运算规则为逢16进一,各位权是
1
6
i
16^{i}
16i
十六进制数后缀字母为H |
---|
十六进制数前缀用0x(数字零和字母x)表示 |
进制数间的转化:
十进制(Decimal)转二进制(Binary):
特别注意十进制数0.6转二进制数:0.6 = 0.1001B(1001循环)
十进制(Decimal)转八进制(Octal)转十六进制(HexaDecimal):
整数部分:除以八或十六取余,先低后高。
小数部分:乘以八或十六取余,先高后低。
(数字过大,十进制先转二进制在转八进制和十进制)整数部分:
1)将二级进制整数从右往左每3位一组(不够时左边补0)分别转换为八进制数。
2)将二级进制整数从右往左每4位一组(不够时左边补0)分别转换为十六进制数。
小数部分:
1)将二级进制小数数从左往右每3位一组(不够时右边补0)分别转换为八进制数。
2)将二级进制小数数从左往右每4位一组(不够时右边补0)分别转换为十六进制数。
十进制(Decimal)转二进制(Binary)加法口算方法:
2 0 2^{0} 20=1 | 2 5 2^{5} 25=32 | 2 10 2^{10} 210=1024 | 2 15 2^{15} 215=32768 |
2 1 2^{1} 21=2 | 2 6 2^{6} 26=64 | 2 11 2^{11} 211=2048 | 2 16 2^{16} 216=65536 |
2 2 2^{2} 22=4 | 2 7 2^{7} 27=128 | 2 12 2^{12} 212=4096 | |
2 3 2^{3} 23=8 | 2 8 2^{8} 28=256 | 2 13 2^{13} 213=8192 | |
2 4 2^{4} 24=16 | 2 9 2^{9} 29=512 | 2 14 2^{14} 214=16384 | |
十进制 | 二进制 | ||
– | – | ||
1 0 1 10^{1} 101=10 | 2 1 2^{1} 21=10B | ||
1 0 2 10^{2} 102=100 | 2 2 2^{2} 22=100B | ||
1 0 3 10^{3} 103=1000 | 2 3 2^{3} 23=1000B | ||
1 0 4 10^{4} 104=10000 | 2 4 2^{4} 24=10000B | ||
… | … | ||
1 0 n 10^{n} 10n=10…0(n个0) | 2 n 2^{n} 2n=10…0B(n个0) |
128=10000000B
十进制(Decimal)转二进制(Binary)减法口算方法:
十进制 | 二进制 |
---|---|
1 0 1 − 1 10^{1}-1 101−1=9 | 2 1 2^{1} 21-1=1B |
1 0 2 10^{2} 102-1=99 | 2 2 2^{2} 22-1=11B |
1 0 3 10^{3} 103-1=999 | 2 3 2^{3} 23-1=111B |
1 0 4 10^{4} 104-1=9999 | 2 4 2^{4} 24-1=1111B |
… | … |
1 0 n 10^{n} 10n-1=9…9(n个9) | 2 n 2^{n} 2n-1=1…1B(n个1) |
255=
2
8
2^{8}
28-11111111B
十进制(Decimal)转二进制(Binary)其他口算方法:
1)乘法
N=a x
2
n
2^{n}
2n
40=10 x
2
2
2^{2}
22=(8+2)x
2
2
2^{2}
22=101000B
2)除法
F=a/
2
n
2^{n}
2n
11/16=(8+2+1)x
2
−
4
2^{-4}
2−4=1011Bx
2
−
4
2^{-4}
2−4=0.1011B
3)N=a x
1
6
n
16^{n}
16n(十六转二)
161=10 x
1
6
1
16^{1}
161+1x
1
6
0
16^{0}
160=0A1H
计算机计量单位
计算机内存容量计算单位
内存容量常用计量单位 |
---|
1Byte(字节)=8bit(二进制位,比特) |
1024B= 2 10 2^{10} 210B=1KB |
1024KB= 2 20 2^{20} 220B=1MB |
1024MB= 2 30 2^{30} 230B=1GB |
1024GB= 2 40 2^{40} 240B =1TB |
1024TB= 2 50 2^{50} 250B=1PB |
1024PB= 2 60 2^{60} 260B=1EB |
1024EB= 2 70 2^{70} 270B=1ZB |
1024ZB= 2 80 2^{80} 280B=1YB |
计算机时钟周期计算单位
时钟周期常用计量单位 |
---|
1ms= 1 0 − 3 10^{-3} 10−3s |
1μs= 1 0 − 3 10^{-3} 10−3ms= 1 0 − 6 10^{-6} 10−6s |
1ns= 1 0 − 3 10^{-3} 10−3μs= 1 0 − 9 10^{-9} 10−9s |
1ps= 1 0 − 3 10^{-3} 10−3ns= 1 0 − 12 10^{-12} 10−12 |
1fs= 1 0 − 3 10^{-3} 10−3ps = 1 0 − 15 10^{-15} 10−15 |
1as= 1 0 − 3 10^{-3} 10−3fs = 1 0 − 18 10^{-18} 10−18 |
数值数据的表示
无符号整数的表示
类型 | 位数 | 表示范围 | 备注 |
---|---|---|---|
BYTE(或DB) | 8 | 0~255( 2 8 − 1 2^{8}-1 28−1) | 用于字符(串),类似C语言的unsigned char |
WORD(或DW) | 16 | 0~65535( 2 16 − 1 2^{16}-1 216−1) | 用于汉字,类似于c语言的unsigned short |
DWORD(或DD) | 32 | 0~4294967295( 2 32 − 1 2^{32}-1 232−1) | 用于整数,类似于c语言的unsigned int |
QWORD(或DQ ) | 64 | 0~18446744073709551615( 2 64 − 1 2^{64}-1 264−1)或-1.79 x 1 0 308 10^{308} 10308~1.79 x 1 0 308 10^{308} 10308) | 用于大于整数或浮点数,类似C语言的int64 或 doule,作大整数时用%I64u输入输出,作浮点数时用%1f输入输出 |
有符号整数的表示
类型 | 位数 | 表示范围 | 备注 |
---|---|---|---|
SBYTE(或DB) | 8 | -128~+127,即 − 2 7 -2^{7} −27~ + 2 7 +2^{7} +27-1 | 用于字符(串),类似C语言的 char |
SWORD(或DW) | 16 | -32768~+32767,即 − 2 15 -2^{15} −215~ + 2 15 +2^{15} +215-1 | 用于汉字,类似于c语言的 short |
SDWORD(或DD) | 32 | -2147483648~+2147483647,即 − 2 31 -2^{31} −231~ + 2 31 +2^{31} +231-1 | 用于整数,类似于c语言的 int |
QWORD(或DQ) | 64 | -9223372036854775808~+9223372036854775807,即 − 2 63 -2^{63} −263~ + 2 63 +2^{63} +263-1 | 用于大于整数或浮点数,类似C语言的int64 或 doule,只作大整数时用%I64d输入输出 |
慢慢魔剑,越来越尖,加油年轻的我们,奥利给!