Sponsored Content
Full Discussion: Negative decimal to binary
Top Forums UNIX for Beginners Questions & Answers Negative decimal to binary Post 303041435 by wisecracker on Saturday 23rd of November 2019 06:01:23 PM
Old 11-23-2019
You could use XOR but here is a solution that is fully POSIX complaint:
Code:
#!/usr/local/bin/dash
# decimal2binary.sh <integer_-128_to_127>
#
# USAGE: [/full/path/to/][./]decimal2binary.sh <integer_from_-128_to 127>

NUMBER=${1}
STRING=""
PREFIX=0

# Account for -127 to -1.
if [ ${NUMBER} -ge -127 ] && [ ${NUMBER} -le -1 ]
then
    NUMBER=$(( NUMBER + 256 ))
    PREFIX=1
fi

# Account for -128.
if [ ${NUMBER} -eq -128 ]
then
    STRING=10000000
    echo "${STRING}"
    exit
fi

# Now do calculations for positive values only.
for COUNT in 6 5 4 3 2 1 0
do
    M=$(( NUMBER / 2 ))
    N=$(( NUMBER % 2 ))
    NUMBER=${M}
    STRING=$( printf "%d" "${N}" )${STRING}
done

# Print it, no need to reverse the string...
echo "${PREFIX}${STRING}"

Results, OSX 10.14.6, default bash terminal calling dash, POSIX compliant.
Code:
Last login: Sat Nov 23 22:28:58 on ttys000
AMIGA:amiga~> cd Desktop/Code/Shell
AMIGA:amiga~/Desktop/Code/Shell> ./decimal2binary.sh 0
00000000
AMIGA:amiga~/Desktop/Code/Shell> ./decimal2binary.sh -128
10000000
AMIGA:amiga~/Desktop/Code/Shell> ./decimal2binary.sh -127
10000001
AMIGA:amiga~/Desktop/Code/Shell> ./decimal2binary.sh -1
11111111
AMIGA:amiga~/Desktop/Code/Shell> ./decimal2binary.sh 1
00000001
AMIGA:amiga~/Desktop/Code/Shell> ./decimal2binary.sh 126
01111110
AMIGA:amiga~/Desktop/Code/Shell> ./decimal2binary.sh 127
01111111
AMIGA:amiga~/Desktop/Code/Shell> _

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

unix script for converting a decimal to binary

Could anybody please help me in writing a script in unix for converting a decimal number to binary number. (3 Replies)
Discussion started by: softy
3 Replies

2. Programming

decimal to binary function error

I have the following simple code to return a binary number in a array format given an interger and the number of the bits for specifying the interger as binary number. #include <stdio.h> #include <stdlib.h> int main () { // int* get_binary_number(int* bit_array, int num, int... (8 Replies)
Discussion started by: return_user
8 Replies

3. UNIX for Advanced & Expert Users

Converting Binary decimal coded values to Ascii Values

Hi All, Is there any command which can convert binary decimal coded values to ascii values... i have bcd values like below оооооооооооо0о-- -v - Pls suggest a way to convert this. Thanks, Deepti.Gaur (3 Replies)
Discussion started by: gaur.deepti
3 Replies

4. UNIX for Dummies Questions & Answers

Decimal to BCD (Binary Coded Decimal)

Anybody please help me... Design an algorithm that accepts an input a decimal number and converts it into BCD (Binary Coded Decimal) representation. Also, draw its Flow Chart. This is a unix qn... plz post algorithm for that :confused: (1 Reply)
Discussion started by: caramba
1 Replies

5. Homework & Coursework Questions

Decimal to BCD (Binary Coded Decimal)

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: Design an algorithm that accepts an input a decimal number and converts it into BCD (Binary... (2 Replies)
Discussion started by: caramba
2 Replies

6. Shell Programming and Scripting

error- multiplying negative decimal values

a=10.02 pattern=-11.01 b=$(echo | awk '{ print $a*$pattern}') echo $b its not working even ALso tried `expr $a \* $pattern` No LUCK (3 Replies)
Discussion started by: saluja.deepak
3 Replies

7. Shell Programming and Scripting

Converting string to negative decimal value

I need code for converting a string to a negative decimal value. For ex, i have the value in the form of a string (5489.95-) i need to convert it into decimal value (-5489.95) while getting output using printf command. i know how to get as a string a="5489.95-" printf "%10s"$a >>xyz.dat ... (5 Replies)
Discussion started by: angie1234
5 Replies

8. Shell Programming and Scripting

How to get the negate of decimal to binary?

Hi All, New to this forum (and yes , a newbie in programming..:p) I have a decimal to binary converter script done this way : i=$1 bit0=$(( (i & 0x01) > 0 )) bit1=$(( (i & 0x02) > 0 )) bit2=$(( (i & 0x04) > 0 )) bit3=$(( (i & 0x08) > 0 )) bit4=$((... (6 Replies)
Discussion started by: digiteltlc
6 Replies

9. Programming

Binary to decimal for particular bits

Hello, I have script which work fine on particular data.file . The next feature I want to achieve is to get the decimal equivalent of data to data. The data looks like this : data(01000000000000000000110000000000) thank you.. #include <iostream> #include <fstream> #include... (4 Replies)
Discussion started by: emily
4 Replies

10. Programming

Urgent help needed.. C++ program to convert decimal to hexa decimal

Hi , seq can be 0...128 int windex = seq / 8; int bindex = seq % 8; unsigned char bitvalue = '\x01' << (7-bindex) ; bpv.bitmapvalue = bitvalue; This is the part of a program to convert decimal to bitmap value of hexadecimal. I want this to change to convert only to... (1 Reply)
Discussion started by: greenworld123
1 Replies
ptpd(8) 						  Precision Time Protocol daemon						   ptpd(8)

NAME
ptpd - Precision Time Protocol daemon (1588-2008) SYNOPSIS
ptpd [?] [-c] [-S] [-f FILE] [-R FILE] [-d] [-D] [-x] [-M NUMBER] [-t] [-T ttl] [-a NUMBER,NUMBER] [-w NUMBER] [-b NAME] [-u ADDRESS] [-e] [-h] [-l NUMBER,NUMBER] [-o NUMBER] [-i NUMBER] [-n NUMBER] [-y NUMBER] [-m NUMBER] [-g] [-v NUMBER] [-r NUMBER] [-s NUMBER] [-p NUMBER] [-q NUMBER] DESCRIPTION
Implements the Precision Time Protocol (PTP) Version 2 as defined by the IEEE 1588-2008 standard. PTP was developed to provide very precise time coordination of LAN connected computers. PTPd is a complete implementation of the IEEE 1588 v2 specification for a standard (ordinary) clock. PTPd has been tested with and is known to work properly with other IEEE 1588 implementations. The source code for PTPd is freely available under a BSD-style license. Thanks to contributions from users, PTPd is becoming an increasingly portable, interoperable, and stable IEEE 1588 implementation. For more information, see http://ptpd.sourceforge.net/ OPTIONS
-? display a short help text -c run in command line (non-daemon) mode -S log information to syslog -f FILE send output to FILE -R FILE record a quality FILE -d display stats -D display stats in .csv format -x do not reset the clock if off by more than one second -M NUMBER do not reset the clock if off by more than NUMBER nanoseconds -t do not adjust the system clock -T set multicast TTL for packets. Defaults to 1. -a NUMBER,NUMBER specify clock servo P and I attenuations -w NUMBER specify one way delay filter stiffness -b NAME bind PTP to network interface NAME -u ADDRESS also send uni-cast to ADDRESS -e run in ethernet mode (level2) -h run in End to End mode -l NUMBER,NUMBER specify inbound, outbound latency in nsec -o NUMBER specify current UTC offset -i NUMBER specify PTP domain number -n NUMBER specify announce interval in 2^NUMBER sec -y NUMBER specify sync interval in 2^NUMBER sec -m NUMBER specify max number of foreign master records -g run as slave only -v NUMBER specify system clock allen variance -r NUMBER specify system clock accuracy -s NUMBER specify system clock class -p NUMBER specify priority1 attribute -q NUMBER specify priority2 attribute AUTHOR
Gael Mace <gael_mace@users.sourceforge.net> & Alexandre Van Kempen. Steven Kreuzer <skreuzer@freebsd.org> George Neville-Neil <gnn@freebsd.org> This manual page was written by Gael Mace for any Linux environment project. version 2.1.0 October, 2010 ptpd(8)
All times are GMT -4. The time now is 02:59 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy