2010-03-07 8 views
1

저는 숫자 (16 진수)를 가지고 있으며 그 중 하나의 보수를 원합니다. 예를 들어 X = 20이라면 bash가 부정을 수행하고 Y = ~X = DF을 리턴하길 원할 것입니다. 그것은 bash에있을 필요는 없지만 스크립트로 감쌀 수있는 공통 명령 줄 도구를 사용해야합니다. 또한 숫자는 모두 부호가 없어야하며 가능한 비트를 오버플로하지 않는 것이 좋습니다 (예 : 20은 8 비트이므로 출력은 8 비트 1의 보수 임).배쉬에서 부호없는 번호를 무효로합니다.

나는 bash와 bc를 사용하여 여러 가지를 시도했지만 올바른 조합을 찾지 못했습니다. 어떤 아이디어?

는 (사람이 걱정하는 경우, 목표는 특정 CPU에 IRQ 선호도를 설정 한 다음 다른 모든 프로세서에 다른 IRQ를 설정하는 것입니다.)

답변

2
printf "%X" $((255-16#20)) 

16#은 (에코)가 필요

1

아, 내가 바보.

printf "%x\n" $(echo $((~ 16#$INPUT))) 

트릭이나 트릭에 충분히 근접합니까?

+0

은'$ 아니다 16 수가 기재되어 떠들썩한 파티 지시'의 printf "% X \ n"$ ((~ 16 # $ 입력))' –