Android Studio开发之JNI操作 ---- 将一个int型数据转成指定位数的二进制字符串

目前我知道有两种方式。

第一种:使用STL中的bitset类来完成。

1、因为是在Android的JNI层实现,所以需要在Application.mk里面配置STL库的加载。

Application.mk里面添加配置如下:

APP_STL := c++_static

2、在JNI层的操作.cpp文件中这样操作:

#include <bitset>
#include <string>
using namespace std;

int nValue = 5;
string str = bitset< 7 >(nValue).to_string();

如此str的值就是“0000101”,完成功能。

第二种:自定义一个函数来实现这个功能:

string Jim_toBinary(int nData, int nLen)
{
    string str = "";
    for (int i = nLen; i >= 0; i--)
    {
        if ((nData >> i) & 0x01)
        {
            str.append("1");
        }
        else
        {
            str.append("0");
        }
    }
    return str;
}

比如,现在我就是需要实现第一种方式的那个功能,将int型的5 弄成 7位的二进制字符串 “0000101”

int nValue = 5;
string str = Jim_toBinary(nValue, 7);

 

---- The End.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值