跳转至

bit64 - 32位系统上对64位数据的基本算术运算和逻辑运算

{bdg-success}已适配 {bdg-primary}Air780E {bdg-primary}Air780EP {bdg-primary}Air780EPS {bdg-primary}Air780EQ {bdg-primary}Air700EAQ {bdg-primary}Air700EMQ {bdg-primary}Air700ECQ {bdg-primary}Air201

本页文档由[这个文件](https://gitee.com/openLuat/LuatOS/tree/master/luat/modules/luat_lib_bit64.c)自动生成。如有错误,请提交issue或帮忙修改后pr,谢谢!
本库有专属demo,[点此链接查看bit64的demo例子](https://gitee.com/openLuat/LuatOS/tree/master/demo/bit64)

bit64.to32(data64bit)

64bit数据转成32bit输出

参数

传入值类型 解释
string 9字节数据

返回值

返回值类型 解释
any 根据64bit数据输出int或者number

例子


bit64.to64(data32bit)

32bit数据转成64bit数据

参数

传入值类型 解释
int/number 32bit数据

返回值

返回值类型 解释
string 9字节数据

例子


bit64.show(a,type,flag)

64bit数据格式化打印成字符串,用于显示值

参数

传入值类型 解释
string 需要打印的64bit数据
int 进制,10=10进制,16=16进制,默认10,只支持10或者16
boolean 整形是否按照无符号方式打印,true是,false不是,默认false,浮点忽略

返回值

返回值类型 解释
string 可以打印的值

例子


bit64.plus(a,b,flag1,flag2)

64bit数据加,a+b,a和b中有一个为浮点,则按照浮点运算

参数

传入值类型 解释
string a
string/int/number b
boolean 整形运算时是否按照无符号方式,true是,false不是,默认false,浮点运算忽略
boolean 浮点运算结果是否要强制转成整数,true是,false不是,默认false,整形运算忽略

返回值

返回值类型 解释
string 9字节数据

例子


bit64.minus(a,b,flag1,flag2)

64bit数据减,a-b,a和b中有一个为浮点,则按照浮点运算

参数

传入值类型 解释
string a
string/int/number b
boolean 整形运算时是否按照无符号方式,true是,false不是,默认false,浮点运算忽略
boolean 浮点运算结果是否要强制转成整数,true是,false不是,默认false,整形运算忽略

返回值

返回值类型 解释
string 9字节数据

例子


bit64.multi(a,b,flag1,flag2)

64bit数据乘,a*b,a和b中有一个为浮点,则按照浮点运算

参数

传入值类型 解释
string a
string/int/number b
boolean 整形运算时是否按照无符号方式,true是,false不是,默认false,浮点运算忽略
boolean 浮点运算结果是否要强制转成整数,true是,false不是,默认false,整形运算忽略

返回值

返回值类型 解释
string 9字节数据

例子


bit64.pide(a,b,flag1,flag2)

64bit数据除,a/b,a和b中有一个为浮点,则按照浮点运算

参数

传入值类型 解释
string a
string/int/number b
boolean 整形运算时是否按照无符号方式,true是,false不是,默认false,浮点运算忽略
boolean 浮点运算结果是否要强制转成整数,true是,false不是,默认false,整形运算忽略

返回值

返回值类型 解释
string 9字节数据

例子


bit64.shift(a,b,flag)

64bit数据位移 a>>b 或者 a<<b

参数

传入值类型 解释
string a
int b
boolean 位移方向,true左移<<,false右移>>,默认false

返回值

返回值类型 解释
string 9字节数据

例子


bit64.strtoll(data, base)

将字符串转为LongLong数据

参数

传入值类型 解释
string 待转换的数据,必须存在
int 转换进制, 默认10, 可选16或8

返回值

返回值类型 解释
string 9字节数据

例子

-- 本API于 2023.10.27 添加
-- 提醒, 如果转换失败, 是返回9个字节的0x00
local data = bit64.strtoll("864040064024194", 10)
log.info("data", data:toHex())
log.info("data", bit64.show(data))