求二进制子串为十进制值

1查看(最近30天)
默罕默德·贾马尔
嗨,大家好,我实现了一个函数,它得到它的输入二进制子串,像这样的'00000001',并输出给定输入的无符号整型值。(输出是一个变量total,在上面的例子中返回值是1,因为2^0在二进制中是'00000001')
我在matlab中做过这样一个函数,但它工作得不好,我得到一个编译错误,我不知道为什么:
函数无符号整型总= EvaluateBinary(字符串)
Bytesize = 8;
字符Retchach ='\ 0'
uint8_t总= 0%这个变量是8位的无符号整数
计数器= 1
int i = byteSize:我> 0:——我
如果张(substring () = =' 1 ')总+ =计数器
如果(substring(张)~ =' ')计数器* = 2
返回总;
结束
2的评论
默罕默德·贾马尔
是的,我只是从其他编程语言(掌握它们),你可以说我是matlab的新手,正在努力。
非常感激

登录评论。

答案(1)

图像分析
图像分析 8月9日
穆罕默德:
这段代码是C部分和MATLAB部分,在MATLAB中是这样的:
函数总= EvaluateBinary(字符串)
byteSize = 8;
retChar ='\ 0'
总= uint8 (0);%该变量为8位无符号整数
counter = 1;
k = byteSize: -1: 0
如果substring (k - 1) = =' 1 '
Total = Total + counter;
结束
如果substring (k - 1) ~ =' '
Counter = Counter * 2;
结束
结束
我附上了你原来的问题,所以当你再次删除它(就像你对你的其他问题做的那样),它仍然可用。

标签

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!