支持更新…

浮点数:小数点可以浮动的数,称为浮点数。与浮点数对应的还有定点数,也就是小数点不能浮动的数。
举例:以100.23为例,如果存储成定点小数,此时如果小数点位置放错了,成了这样:1.0023,则最后的结果肯定错了。如果是浮点数,则小数点可以随意移动,可以表示成科学计数法的形式:1.0023*102,在计算中,数字都是2的正数幂表示,所以计算机中的表示方法一般都是某个小数乘以2k。
float32如何如何将一个小数转成二进制数:
小数转成二进制数示例:

float32的底层存储将一个小数分成符号部分+指数部分+尾数部分存储:

其中
float64的底层存储如下:
go语言中,采用UTF8编码技术、Unicode编码。
UTF8是一种编码技术,除了UTF8之外、还有UTF16(使用2个字节或4个字节表示每个Unicode字符码点)、UTF32(4个字节表示每个Unicode字符码点)等。
相对于UTF-16和UTF-32方案,UTF-8方案的空间利用率也是最高的。并且,utf8解码和编码时,也无需考虑字节序问题。
以字符“中”为例,它的码点(序号)为U+4E2D,它在Utf8编码则为“0xE4 0xB8 0xAD”,即在内存中Go实际用三个字节来表示“中”这个Unicode字符。
问:UTF8编码使用几个字节存储Unicode编码呢?
答:
- 前128个与ASCII字符重合的码点(U+0000~U+007F)使用1个字节表示;
- 带变音符号的拉丁文、希腊文、西里尔字母、阿拉伯文等使用2个字节来表示;
- 而东亚文字(包括汉字)使用3个字节表示;
- 其他极少使用的语言的字符则使用4个字节表示
string转成int
int, err := strconv.Atoi(string)
string转成int64
int64, err := strconv.ParseInt(string, 10, 64)
string转成uint64
uint64, err := strconv.ParseUint(string, 10, 64)
int转成string
string := strconv.Itoa(int)
int64转成string
string := strconv.FormatInt(int64, 10)
uint64转成string(10进制)
string := strconv.FormatUint(uint64, 10)
uint64转成string(16进制)
string := strconv.FormatUint(uint64, 16)
var a = 100
- 1
问:上面代码中,变量
a属于什么数据类型?是int、int8、int16、int32还是int64?答:变量
a默认是int数据类型。
问:如何查看变量作占用的字节数?
答:
import "unsafe" func main () { bytesOfVariable := unsafe.Sizeof(variable) }
- 1
- 2
- 3
- 4
- 5
var a = 1.1
- 1
问:上面的代码中,变量
a是什么数据类型?答:go语言中,上面的代码,变量
a默认是float64数据类型的