首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java中大整型BigInteger及setBit和testBit方法

最近在修改公司之前的项目,在项目中遇到了权限校验的问题,代码中出现了BigInteger的setBit()testBit()方法,之前未接触过,所以了解了下BigInteger。...再说说setBit()和testBit()方法 在项目中是使用BigInteger的这两个方法来进行权限效验的,利用菜单id生成对应权限效验码,把具体的权限设置为一个正整数值,如果一个用户有多个权限的话...BigInteger num = new BigInteger("0");         num = num.setBit(302);         System.out.println(num);     } testBit...方法代码 public boolean testBit(int n) {         if (n < 0)             throw new ArithmeticException("Negative...n位,与this对象做|运算,这样的话,就会将this的二进制格式的第n+1位的数变为1.这样很明显就和上一个方法形成一对, n可以作为某个功能编号,而角色可以使用setBit的方法设置编号,然后使用testBit

57820
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL基础『数据类型』

    表示 位字段类型,M 的范围 1~64,这里的位指 比特位,64 比特位即 8 字节,接下来分别创建几个 bit 类型 BIT(M) mysql> create table if not exists testBIT...( 位字段类型_1 bit(1), 位字段类型_2 bit(2), 位字段类型_8 bit(8) ); mysql> desc testBIT; 再分别向其中插入一些数据,查询时却看到了一些奇怪字符...mysql> insert into testBIT values (1, 3, 100), (0, 2, 255); mysql> select * from testBIT; 这是因为 查表时,...如果我们想让其正常显示,查询时可以使用 hex() 这个内置函数将查询结果转为十六进制显示 mysql> select hex(位字段类型_1), hex(位字段类型_2), hex(位字段类型_8) from testBIT...100, FF 则表示 15 * 16 + 15 = 255 值得注意的是,对于 BIT 类型,MySQL 也做出了相应的 约束,对于超出范围的数据,拒绝插入 mysql> insert into testBIT

    18410
    领券