How to write a program that selectively picks hexadecimal values from a text file based on bit size?

2 visualizzazioni (ultimi 30 giorni)
Hello all! I have a text file that is full of 16bit, 32bit, 64bit, and 128bit hexadecimal values, and I was trying to write a program that asks user the bit-size, then once the size is selected, a random hexadecimal value from the text file is spit out. I was thinking about if statements, but nothing I try is working. Any help or guidance would be greatly appreciated!
Edit Sorry! I have added the text file, but it is 4 hex values per a line, then enter. There are a lot more values than this in the real one but it follows same format
Edit#2
I am mostly confused with syntax for the bit selector, but I was thinking something like:
read file,
user selects bit mode (4 options)
if 16bit --> rand
if 32bit --> rand
if 64bit -->rand
if 128bit -->rand
if anything else, error
  7 Commenti
Akana Juliet
Akana Juliet il 15 Giu 2021
@Scott MacKenzie Actually, it's more like
lines 1-20 are all 16bit
lines 21-40 are all 32bit
lines 41-60 are all 64bit
lines 61-80 are all 128bit
Sorry for the lack of context in my question! I hope this helps convey. Thanks so much for helping me

Accedi per commentare.

Risposta accettata

David Hill
David Hill il 15 Giu 2021
r=randi(4);
a=readcell('hextest.txt');
x=input('hex length: ');
hexValue=a{log2(x/16)+1,r};
  3 Commenti
David Hill
David Hill il 15 Giu 2021
Yes. If you don't want any repetitions, use randperm.
r=randperm(4,3);%selects 3 in random order from 1:4
a=readcell('hextest.txt');
x=input('hex length: ');
hexValue=a(log2(x/16)+1,r);%output is a cell array
Akana Juliet
Akana Juliet il 15 Giu 2021
Thank you so much for your help @David Hill ! I just have one final question, what am I doing wrong with my print statement? I'm only seeing 1 random value posted?
r=randi(4,3);
a=readcell('anothertest.txt');
x=input('Enter bit length: ');
hexValue=a{log2(x/16)+1,r};
fprintf('%s %s %s\n', hexValue);

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by