12.03.2012, 23:28 | #1 (permalink) |
Новичок
Регистрация: 04.03.2012
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите с задачей о байтах
"Поменять местами пятый и шестой биты байта.Подсчитать и вывести в терминал, сколько цифровых символов между соседними пробелами." Первую часть сделала задания,оказалось не сильно сложно: import java.io.IOException; import java.io.FileOutputStream; import java.io.FileInputStream; public class Main{ public static void main(String[ ] args) throws IOException{ byte b=0;byte b0,b1,b2,b3;int d=0; FileInputStream fi=null; FileOutputStream fo=null; try{ fi=new FileInputStream("f-out.byt"); fo=new FileOutputStream("f-out2.byt"); while((d=fi.read())!=-1){b=(byte)d; //преобразование b согласно варианту //Поменять местами пятый и шестой биты байта b1=(byte)(b&0x10);//выделяю 2 бит b1=(byte)(b&0x04); b2=(byte)(b1«1); //смещаю в третий b2=(byte)(b1»1); b3=(byte)(b&0x20); //выделяю 3 бит b3=(byte)(b&0x02); b4=(byte)(b3»1);//смещаю во 2 бит b4=(byte)(b3«1); b5=(byte)(b2 | b4); b6=(byte)(b & 0xcf); // b6=(byte)(b & 0xf9); b=(byte)(b6|b5); fo.write(b); } } catch (IOException e){System.out.println("error");} finally{if(fo!=null){ System.out.println(" fo was opened"); fo.close(); ------------------ А вот как сделать вторую вообще не имею понятия...С байтами я новичок,что делать вообще не знаю..Зашла в тупик.Задача на Java |
12.03.2012, 23:28 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Очень часто пользователям помогают схожие топики Помогите с задачей Помогите с задачей по Паскалю |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Метки |
java |
|
|