无符号整型

嵌入式经典问题汇总

我与影子孤独终老i 提交于 2019-12-01 15:39:38
1) 对于整形变量A=0x12345678,请画出在little endian及big endian的方式下在内存中是如何存储的 。 little endian big endian 刚好反过来 高地址--〉 0x12 低地址--〉 0x12 0x34 0x34 0x56 0x56 低地址--〉 0x78 高地址--〉 0x78 2) 在ARM系统中,函数调用的时候,参数是通过哪种方式传递的? 参数<=4时候,通过R0~R3传递,>4的通过压栈方式传递 3) 中断(interrupt,如键盘中断)与异常(exception,如除零异常)有何区别? 异常:在产生时必须考虑与处理器的时钟同步,实际上,异常也称为同步中断。在处理器执行到由于编程失误而导致的错误指令时,或者在执行期间出现特殊情况(如缺页),必须靠内核处理的时候,处理器就会产生一个异常。 所谓中断应该是指外部硬件产生的一个电信号,从cpu的中断引脚进入,打断cpu当前的运行; 所谓异常,是指软件运行中发生了一些必须作出处理的事件,cpu自动产生一个信号来打断当前运行,转入异常处理流程。 2 . 写一个"标准"宏MIN ,这个宏输入两个参数并返回较小的一个。 #define MIN(A,B) ((A) <= (B) ? (A) : (B)) 【 程序员面试宝典 】 这个测试是为下面的目的而设的: 1) 标识

Go语言 基础 基础数据类型

最后都变了- 提交于 2019-11-27 21:26:08
Go语言中有丰富的数据类型,除了基本的整型、浮点型、布尔型、字符串外,还有数组、切片、结构体、函数、map、通道(channel)等。Go 语言的基本类型和其他语言大同小异。 基本数据类型 整型 整型分为以下两个大类: 按长度分为:int8、int16、int32、int64 对应的无符号整型:uint8、uint16、uint32、uint64 其中, uint8 就是我们熟知的 byte 型, int16 对应C语言中的 short 型, int64 对应C语言中的 long 型。 类型 描述 uint8 无符号 8位整型 (0 到 255) uint16 无符号 16位整型 (0 到 65535) uint32 无符号 32位整型 (0 到 4294967295) uint64 无符号 64位整型 (0 到 18446744073709551615) int8 有符号 8位整型 (-128 到 127) int16 有符号 16位整型 (-32768 到 32767) int32 有符号 32位整型 (-2147483648 到 2147483647) int64 有符号 64位整型 (-9223372036854775808 到 9223372036854775807) 特殊整型 类型 描述 uint 32位操作系统上就是 uint32 ,64位操作系统上就是 uint64

numpy - 数据格式之 int 与 uint

◇◆丶佛笑我妖孽 提交于 2019-11-27 04:43:39
概念 整型分为 有符号整型 和 无符号整型 ,其区别在于 无符号整型 可以存放的正数范围 比 有 符号整型 大一倍,因为 有符号整型 将最高位存储符号,而 无符号整型 全部存储数字 # 1 1110000101010101111 有符号整型 最高位 代表符号 # 1 1110000101010101111 无符号整型 最高位 代表数字 比如16位系统中一个int能存储的数据的范围为 -32768~32767,而unsigned能存储的数据范围则是0~65535。 通俗解释就是 无符号整型 中只有正数,他把负数用正数表示。 在一些不可能取值为负数的时候,可以定义为unsigned,在一些底层的 嵌入式编程 的数据一般都是无符号的。 Python 示例 int 代表有符号,uint 代表无符号 import numpy as np # 有符号整型 a = np.int(10) b = np.int(5) print(a - b) # 5 print(b - a) # -5 # 无符号整型 a = np.uint(10) b = np.uint(5) print(a - b) # 5 print(b - a) # 4294967291 print((b - a).astype(np.float32)) # 这样并没有把无符号整型转换成有符号 参考资料: https://baike

Python C API的使用详解(一)

我们两清 提交于 2019-11-25 21:12:10
简介 介绍一下Python虚拟机的初始化及退出,Python基本数据类型的对象创建以及C和Python之间的数据类型互相转换。 Python虚拟机的初始化及退出 初始化Python虚拟机需要调用 Py_Initialize() 来实现。 Py_IsInitialized() 用于判断Python虚拟机初始化是否成功,True是成功,False是失败。 C/C++中调用Python之前必须先初始化虚拟机。 退出虚拟机的时候调用 Py_Finalize() 。 进程退出时要退出Python虚拟机。 实例: #include <stdio.h> #include <Python.h> using namespace std; int main() { // 初始化Python虚拟机 Py_Initialize(); // 判断Python虚拟机是否成功 if (Py_IsInitialized() == 0){ printf("fal to initialize Python\n"); return -1; } printf("server start\n"); // 退出Python虚拟机 Py_Finalize(); return 0; } 编译方式及参数: 下面是Python2的编译方式,Python3的话,只需要将Python的库路径改成Python3的即可 g++ -I/usr