二进制不取反的话算是能防修改了吗
gamemaker吧
全部回复
仅看楼主
level 1
六玄兽 楼主
取反总是不成功,读出的永远转不回原变量[不高兴]
2020年07月27日 03点07分 1
level 15
什么意思。。
2020年07月27日 05点07分 2
level 15
是吗?楼主取反了哪个数
2020年07月27日 05点07分 3
一个简单的全局变量
2020年07月27日 06点07分
global.xxx= ~file_bin_read_byte(fp);
2020年07月27日 06点07分
@六玄兽 然后又怎么操作了
2020年07月27日 11点07分
@开不了车 写在下楼了
2020年07月27日 14点07分
level 1
六玄兽 楼主
保存----------
var fp;
fp = file_bin_open("demo.sav",1);
file_bin_write_byte(fp,~global.XXX);
file_bin_close(fp);
读取---------
var fp;
fp = file_bin_open("demo.sav",0);
global.XXX = ~file_bin_read_byte(fp);
file_bin_close(fp);
2020年07月27日 14点07分 4
唔,假设你写入时的都是0~255范围内的数,因为取反是每一位都反,所以0变成-1、1变成-2、-2变成-3等,写入时只取低8位(二进制)则变成255、254、253等。但是读取时8位以上本来全是0,经过取反以后变成了1,于是值得到的是-256、-255、-254等而不是0、1、2等。应该在取反后再进行与运算&255
2020年07月27日 15点07分
@开不了车 再加255吗
2020年07月27日 15点07分
@六玄兽 “与”运算
2020年07月27日 16点07分
@开不了车 谢谢
2020年07月28日 01点07分
1