All ASCII characters with a given bit count Announcing the arrival of Valued Associate #679:...

Eigenvalues of the Laplacian of the directed De Bruijn graph

What is the purpose of the side handle on a hand ("eggbeater") drill?

Show two Lagrangians are equivalent

Why is arima in R one time step off?

Simulate round-robin tournament draw

What helicopter has the most rotor blades?

Is there a possibility to generate a list dynamically in Latex?

Calculating the expected value of truncated normal

My admission is revoked after accepting the admission offer

VBA: Single line if statement with multiple actions

Is there an efficient way for synchronising audio events real-time with LEDs using an MCU?

When does Bran Stark remember Jamie pushing him?

Is it accepted to use working hours to read general interest books?

Why aren't road bicycle wheels tiny?

Was Objective-C really a hinderance to Apple software development?

Why do owned slices take 16 bytes in rust? (on x64 machine)

Married in secret, can marital status in passport be changed at a later date?

Cisco DHCP Router

Can't solve system of linear equations (that need simplification first)

The 'gros' functor from schemes into (strictly) locally ringed topoi

Marquee sign letters

Is a self contained air-bullet cartridge feasible?

What is the ongoing value of the Kanban board to the developers as opposed to management

Why does Java have support for time zone offsets with seconds precision?



All ASCII characters with a given bit count



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)
The PPCG Site design is on its way - help us make it awesome!
Sandbox for Proposed ChallengesBiplex: an important useless operatorConvert a “mixed-base” string to ASCIIAll Aboard the ASCII TrainSum of Modulo SumsCount the characters - bit by bit!Calculate the binary split sum of a wordMap inputted ASCII charactersDiluted Integer SumsCount the lucky tickets within the given rangeASCII Art Octagons












6












$begingroup$


(Title with thanks to @ChasBrown)



Sandbox



The Background



This challenge is inspired by a question that I recently posted on Puzzling Stack Exchange. Please feel free to follow the link if you are interested in the original question. If not then I won't bore you with the details here.



The Facts



Every printable standard ASCII character has a decimal value between 32 and 126 inclusive. These can be converted to their corresponding binary numbers in the range 100000 to 1111110 inclusive. When you sum the bits of these binary numbers you will always end up with an integer between 1 and 6 inclusive.



The Challenge



Given an integer between 1 and 6 inclusive as input, write a program or function which will output in any acceptable format all of the printable standard ASCII characters where the sum of the bits of their binary value is equal to the input integer.



Examples (showing output in four possible acceptable formats)



Input: 1



Output:

" "

"@"



Input: 2



Output: '!"$(0ABDHP`'



Input: 3



Output: "#%&)*,1248CEFIJLQRTXabdhp"



Input: 6



Output: ['?', '_', 'o', 'w', '{', '}', '~']



The Rules




  1. Assume the input will always be an integer (or string representation of an integer) between 1 and 6 inclusive.

  2. You may write a program to display the results or a function to return them.

  3. Output may be in any acceptable format but must be consistent for all inputs. If you choose to output a quoted string then the same type of quotes must be used for all inputs.

  4. Standard loopholes prohibited as usual.

  5. This is code golf so shortest code in each language wins.


Test Cases



A full set of expected results is available here (TIO) (ungolfed Python implementation).










share|improve this question









$endgroup$












  • $begingroup$
    Are we allowed to return/print a list of the decimal ascii values or do we need to have them in the form of characters (eg. 63 vs ?)?
    $endgroup$
    – Benjamin Urquhart
    2 hours ago






  • 1




    $begingroup$
    Must be the actual characters.
    $endgroup$
    – ElPedro
    2 hours ago






  • 1




    $begingroup$
    "the same type of quotes must be used for all inputs" Python, for example, uses single quotes (') for the string representation of a string by default, but uses double quotes (") if the string contain a single quote and no double quotes. Not that this specific case will matter much, as you're probably better off returning the actual string instead of its representation, and you can still use single quotes in such a string for input anyway, but I feel it's worth mentioning here.
    $endgroup$
    – Erik the Outgolfer
    1 hour ago


















6












$begingroup$


(Title with thanks to @ChasBrown)



Sandbox



The Background



This challenge is inspired by a question that I recently posted on Puzzling Stack Exchange. Please feel free to follow the link if you are interested in the original question. If not then I won't bore you with the details here.



The Facts



Every printable standard ASCII character has a decimal value between 32 and 126 inclusive. These can be converted to their corresponding binary numbers in the range 100000 to 1111110 inclusive. When you sum the bits of these binary numbers you will always end up with an integer between 1 and 6 inclusive.



The Challenge



Given an integer between 1 and 6 inclusive as input, write a program or function which will output in any acceptable format all of the printable standard ASCII characters where the sum of the bits of their binary value is equal to the input integer.



Examples (showing output in four possible acceptable formats)



Input: 1



Output:

" "

"@"



Input: 2



Output: '!"$(0ABDHP`'



Input: 3



Output: "#%&)*,1248CEFIJLQRTXabdhp"



Input: 6



Output: ['?', '_', 'o', 'w', '{', '}', '~']



The Rules




  1. Assume the input will always be an integer (or string representation of an integer) between 1 and 6 inclusive.

  2. You may write a program to display the results or a function to return them.

  3. Output may be in any acceptable format but must be consistent for all inputs. If you choose to output a quoted string then the same type of quotes must be used for all inputs.

  4. Standard loopholes prohibited as usual.

  5. This is code golf so shortest code in each language wins.


Test Cases



A full set of expected results is available here (TIO) (ungolfed Python implementation).










share|improve this question









$endgroup$












  • $begingroup$
    Are we allowed to return/print a list of the decimal ascii values or do we need to have them in the form of characters (eg. 63 vs ?)?
    $endgroup$
    – Benjamin Urquhart
    2 hours ago






  • 1




    $begingroup$
    Must be the actual characters.
    $endgroup$
    – ElPedro
    2 hours ago






  • 1




    $begingroup$
    "the same type of quotes must be used for all inputs" Python, for example, uses single quotes (') for the string representation of a string by default, but uses double quotes (") if the string contain a single quote and no double quotes. Not that this specific case will matter much, as you're probably better off returning the actual string instead of its representation, and you can still use single quotes in such a string for input anyway, but I feel it's worth mentioning here.
    $endgroup$
    – Erik the Outgolfer
    1 hour ago
















6












6








6


1



$begingroup$


(Title with thanks to @ChasBrown)



Sandbox



The Background



This challenge is inspired by a question that I recently posted on Puzzling Stack Exchange. Please feel free to follow the link if you are interested in the original question. If not then I won't bore you with the details here.



The Facts



Every printable standard ASCII character has a decimal value between 32 and 126 inclusive. These can be converted to their corresponding binary numbers in the range 100000 to 1111110 inclusive. When you sum the bits of these binary numbers you will always end up with an integer between 1 and 6 inclusive.



The Challenge



Given an integer between 1 and 6 inclusive as input, write a program or function which will output in any acceptable format all of the printable standard ASCII characters where the sum of the bits of their binary value is equal to the input integer.



Examples (showing output in four possible acceptable formats)



Input: 1



Output:

" "

"@"



Input: 2



Output: '!"$(0ABDHP`'



Input: 3



Output: "#%&)*,1248CEFIJLQRTXabdhp"



Input: 6



Output: ['?', '_', 'o', 'w', '{', '}', '~']



The Rules




  1. Assume the input will always be an integer (or string representation of an integer) between 1 and 6 inclusive.

  2. You may write a program to display the results or a function to return them.

  3. Output may be in any acceptable format but must be consistent for all inputs. If you choose to output a quoted string then the same type of quotes must be used for all inputs.

  4. Standard loopholes prohibited as usual.

  5. This is code golf so shortest code in each language wins.


Test Cases



A full set of expected results is available here (TIO) (ungolfed Python implementation).










share|improve this question









$endgroup$




(Title with thanks to @ChasBrown)



Sandbox



The Background



This challenge is inspired by a question that I recently posted on Puzzling Stack Exchange. Please feel free to follow the link if you are interested in the original question. If not then I won't bore you with the details here.



The Facts



Every printable standard ASCII character has a decimal value between 32 and 126 inclusive. These can be converted to their corresponding binary numbers in the range 100000 to 1111110 inclusive. When you sum the bits of these binary numbers you will always end up with an integer between 1 and 6 inclusive.



The Challenge



Given an integer between 1 and 6 inclusive as input, write a program or function which will output in any acceptable format all of the printable standard ASCII characters where the sum of the bits of their binary value is equal to the input integer.



Examples (showing output in four possible acceptable formats)



Input: 1



Output:

" "

"@"



Input: 2



Output: '!"$(0ABDHP`'



Input: 3



Output: "#%&)*,1248CEFIJLQRTXabdhp"



Input: 6



Output: ['?', '_', 'o', 'w', '{', '}', '~']



The Rules




  1. Assume the input will always be an integer (or string representation of an integer) between 1 and 6 inclusive.

  2. You may write a program to display the results or a function to return them.

  3. Output may be in any acceptable format but must be consistent for all inputs. If you choose to output a quoted string then the same type of quotes must be used for all inputs.

  4. Standard loopholes prohibited as usual.

  5. This is code golf so shortest code in each language wins.


Test Cases



A full set of expected results is available here (TIO) (ungolfed Python implementation).







code-golf






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 2 hours ago









ElPedroElPedro

3,5931023




3,5931023












  • $begingroup$
    Are we allowed to return/print a list of the decimal ascii values or do we need to have them in the form of characters (eg. 63 vs ?)?
    $endgroup$
    – Benjamin Urquhart
    2 hours ago






  • 1




    $begingroup$
    Must be the actual characters.
    $endgroup$
    – ElPedro
    2 hours ago






  • 1




    $begingroup$
    "the same type of quotes must be used for all inputs" Python, for example, uses single quotes (') for the string representation of a string by default, but uses double quotes (") if the string contain a single quote and no double quotes. Not that this specific case will matter much, as you're probably better off returning the actual string instead of its representation, and you can still use single quotes in such a string for input anyway, but I feel it's worth mentioning here.
    $endgroup$
    – Erik the Outgolfer
    1 hour ago




















  • $begingroup$
    Are we allowed to return/print a list of the decimal ascii values or do we need to have them in the form of characters (eg. 63 vs ?)?
    $endgroup$
    – Benjamin Urquhart
    2 hours ago






  • 1




    $begingroup$
    Must be the actual characters.
    $endgroup$
    – ElPedro
    2 hours ago






  • 1




    $begingroup$
    "the same type of quotes must be used for all inputs" Python, for example, uses single quotes (') for the string representation of a string by default, but uses double quotes (") if the string contain a single quote and no double quotes. Not that this specific case will matter much, as you're probably better off returning the actual string instead of its representation, and you can still use single quotes in such a string for input anyway, but I feel it's worth mentioning here.
    $endgroup$
    – Erik the Outgolfer
    1 hour ago


















$begingroup$
Are we allowed to return/print a list of the decimal ascii values or do we need to have them in the form of characters (eg. 63 vs ?)?
$endgroup$
– Benjamin Urquhart
2 hours ago




$begingroup$
Are we allowed to return/print a list of the decimal ascii values or do we need to have them in the form of characters (eg. 63 vs ?)?
$endgroup$
– Benjamin Urquhart
2 hours ago




1




1




$begingroup$
Must be the actual characters.
$endgroup$
– ElPedro
2 hours ago




$begingroup$
Must be the actual characters.
$endgroup$
– ElPedro
2 hours ago




1




1




$begingroup$
"the same type of quotes must be used for all inputs" Python, for example, uses single quotes (') for the string representation of a string by default, but uses double quotes (") if the string contain a single quote and no double quotes. Not that this specific case will matter much, as you're probably better off returning the actual string instead of its representation, and you can still use single quotes in such a string for input anyway, but I feel it's worth mentioning here.
$endgroup$
– Erik the Outgolfer
1 hour ago






$begingroup$
"the same type of quotes must be used for all inputs" Python, for example, uses single quotes (') for the string representation of a string by default, but uses double quotes (") if the string contain a single quote and no double quotes. Not that this specific case will matter much, as you're probably better off returning the actual string instead of its representation, and you can still use single quotes in such a string for input anyway, but I feel it's worth mentioning here.
$endgroup$
– Erik the Outgolfer
1 hour ago












15 Answers
15






active

oldest

votes


















2












$begingroup$


Python 2, 69 bytes





lambda n:[chr(i)for i in range(32,127)if sum(map(int,bin(i)[2:]))==n]


Try it online!






share|improve this answer









$endgroup$













  • $begingroup$
    That's exactly what I got when I golfed my ref implementation. +1
    $endgroup$
    – ElPedro
    2 hours ago



















2












$begingroup$


05AB1E, 8 bytes



žQʒÇbSOQ


Try it online!



Explanation



žQ        # push the printable ascii characters
ʒ # filter, keep elements whose
Ç # character code
b # converted to binary
SO # has a digit sum
Q # equal to the input





share|improve this answer









$endgroup$





















    2












    $begingroup$


    Python 2, 62 bytes





    lambda n:[chr(i)for i in range(32,127)if bin(i).count('1')==n]


    Try it online!






    share|improve this answer









    $endgroup$





















      2












      $begingroup$


      Japt, 9 bytes



      ;EƶXc¤è1


      Try it



      ;EƶXc¤è1     :Implicit input of integer U
      ;E :Printable ASCII
      Æ :Filter each X
      ¶ :Test U for equality with
      Xc : Character code of X
      ¤ : To binary string
      è1 : Count the 1s





      share|improve this answer









      $endgroup$





















        2












        $begingroup$

        Java 8, 131 bytes



        Returns a java.util.stream.Stream<String>



        n->java.util.stream.IntStream.range(32,127).filter(i->Long.toBinaryString(i).chars().map(c->c-48).sum()==n).mapToObj(c->(char)c+"")


        Try it online!


        Using HashSet, 135 bytes. Returns a Set<Object>:



        n->new java.util.HashSet(){{for(int i=31;i++<126;add(Long.toBinaryString(i).chars().map(c->c-48).sum()==n?(char)i+"":""),remove(""));}}


        Try it online!






        share|improve this answer











        $endgroup$





















          2












          $begingroup$


          Jelly, 8 bytes



          ØṖOB§=ʋƇ


          Try it online!



          ØṖ       printable ascii character list
          OB to binary
          § popcount
          = equal to input?
          ʋƇ filter (implicitly output)





          share|improve this answer









          $endgroup$





















            2












            $begingroup$


            JavaScript (Node.js),  70  69 bytes





            n=>(g=x=>x>>7?'':Buffer((h=x=>x&&x%2+h(x>>1))(x)-n?0:[x])+g(x+1))(32)


            Try it online!






            share|improve this answer











            $endgroup$





















              1












              $begingroup$


              Wolfram Language (Mathematica), 70 bytes



              FromCharacterCode/@Select[32~Range~126,s=#;Tr@IntegerDigits[#,2]==s&]&


              Try it online!






              share|improve this answer









              $endgroup$





















                1












                $begingroup$


                Gaia, 10 bytes



                ₵R⟪¤cbΣ=⟫⁇


                Try it online!



                		| implicit input, n
                ₵R | push printable ascii
                ⟪ ⟫⁇ | filter the list where:
                ¤cbΣ | the sum of the code point in binary
                = | is equal to n





                share|improve this answer









                $endgroup$





















                  1












                  $begingroup$

                  Dyalog APL Extended, 24 bytes



                  ⎕ucs a⌿⍨(+⌿2⊤a←32…126)∘=


                  Try it online!



                  25 bytes in dzaima/APL:



                  ⎕ucs a⌿⍨(+/¨2⊤¨a←32…126)=


                  Try it online!






                  share|improve this answer











                  $endgroup$





















                    1












                    $begingroup$

                    8088 assembly, IBM PC DOS, 35 34 bytes



                    Machine code:



                    be81 00ad 80ec 308a f433 db8a c8d0 e973 0143 75f9 3af3 7504 b40e cd10 403c 7e7e e8c3


                    Listing:



                    BE 0081     MOV  SI, 081H   ; address of DOS PSP command line
                    AD LODSW ; load space (20H) and value from command line
                    80 EC 30 SUB AH, '0' ; convert to numeric value
                    8A F4 MOV DH, AH ; AL = counter, DH = target value
                    CHR_LOOP:
                    33 DB XOR BX, BX ; clear bit counter
                    8A C8 MOV CL, AL ; current char to CL for test
                    BIT_LOOP:
                    D0 E9 SHR CL, 1 ; shift LSB to CF
                    73 01 JNC EBIT_LOOP ; if LSB = 0, don't increment
                    43 INC BX ; increment '1' bit counter
                    EBIT_LOOP:
                    75 F9 JNZ BIT_LOOP ; loop until CL = 0
                    3A F3 CMP DH, BL ; is current char the target value?
                    75 04 JNE ECHR_LOOP ; if not, do not display
                    B4 0E MOV AH, 0EH ; BIOS write char function
                    CD 10 INT 10H ; write AL to screen
                    ECHR_LOOP:
                    40 INC AX ; increment char loop
                    3C 7E CMP AL, 126 ; is char <= 126?
                    7E E8 JLE CHR_LOOP ; if so, keep looping
                    C3 RET ; return to DOS


                    Standalone PC DOS executable program, input number from command line. Output is displayed to console window.



                    enter image description here



                    Download and test ABCT.COM.






                    share|improve this answer











                    $endgroup$





















                      0












                      $begingroup$


                      PowerShell, 83 bytes





                      param($n)[char[]](32..126|?{([convert]::ToString($_,2)|% t*y|group)[1].count-eq$n})


                      Try it online!



                      Takes input $n, constructs a range from 32 to 126 and pulls out those numbers where |?{}: the number, converted ToString in base 2; converted toCharArray; grouped into 0s and 1s; taking the [1] index of that grouping; taking the .count thereof, and checking that it's -equal to our input $number. Those numbers are then cast as a char-array and left on the pipeline. Output is implicit, with newlines between elements.






                      share|improve this answer









                      $endgroup$





















                        0












                        $begingroup$


                        Ruby, 48 bytes





                        ->n{(' '..?~).select{|x|x.ord.digits(2).sum==n}}


                        Try it online!






                        share|improve this answer









                        $endgroup$





















                          0












                          $begingroup$


                          Perl 5 -a, 50 bytes





                          map{(sprintf'%b',$_)=~y/1//-$F[0]||say chr}32..126


                          Try it online!






                          share|improve this answer









                          $endgroup$





















                            0












                            $begingroup$


                            Charcoal, 10 bytes



                            Φγ⁼Σ↨℅ι²Iθ


                            Try it online! Link is to verbose version of code. Explanation:



                             γ          Predefined ASCII characters
                            Φ Filtered by
                            ι Current character's
                            ℅ ASCII code
                            ↨ Converted to base
                            ² Literal 2
                            Σ Summed
                            ⁼ Equals
                            θ First input
                            I Cast to integer
                            Implicitly printed





                            share|improve this answer









                            $endgroup$














                              Your Answer






                              StackExchange.ifUsing("editor", function () {
                              StackExchange.using("externalEditor", function () {
                              StackExchange.using("snippets", function () {
                              StackExchange.snippets.init();
                              });
                              });
                              }, "code-snippets");

                              StackExchange.ready(function() {
                              var channelOptions = {
                              tags: "".split(" "),
                              id: "200"
                              };
                              initTagRenderer("".split(" "), "".split(" "), channelOptions);

                              StackExchange.using("externalEditor", function() {
                              // Have to fire editor after snippets, if snippets enabled
                              if (StackExchange.settings.snippets.snippetsEnabled) {
                              StackExchange.using("snippets", function() {
                              createEditor();
                              });
                              }
                              else {
                              createEditor();
                              }
                              });

                              function createEditor() {
                              StackExchange.prepareEditor({
                              heartbeatType: 'answer',
                              autoActivateHeartbeat: false,
                              convertImagesToLinks: false,
                              noModals: true,
                              showLowRepImageUploadWarning: true,
                              reputationToPostImages: null,
                              bindNavPrevention: true,
                              postfix: "",
                              imageUploader: {
                              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
                              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
                              allowUrls: true
                              },
                              onDemand: true,
                              discardSelector: ".discard-answer"
                              ,immediatelyShowMarkdownHelp:true
                              });


                              }
                              });














                              draft saved

                              draft discarded


















                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f183625%2fall-ascii-characters-with-a-given-bit-count%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown

























                              15 Answers
                              15






                              active

                              oldest

                              votes








                              15 Answers
                              15






                              active

                              oldest

                              votes









                              active

                              oldest

                              votes






                              active

                              oldest

                              votes









                              2












                              $begingroup$


                              Python 2, 69 bytes





                              lambda n:[chr(i)for i in range(32,127)if sum(map(int,bin(i)[2:]))==n]


                              Try it online!






                              share|improve this answer









                              $endgroup$













                              • $begingroup$
                                That's exactly what I got when I golfed my ref implementation. +1
                                $endgroup$
                                – ElPedro
                                2 hours ago
















                              2












                              $begingroup$


                              Python 2, 69 bytes





                              lambda n:[chr(i)for i in range(32,127)if sum(map(int,bin(i)[2:]))==n]


                              Try it online!






                              share|improve this answer









                              $endgroup$













                              • $begingroup$
                                That's exactly what I got when I golfed my ref implementation. +1
                                $endgroup$
                                – ElPedro
                                2 hours ago














                              2












                              2








                              2





                              $begingroup$


                              Python 2, 69 bytes





                              lambda n:[chr(i)for i in range(32,127)if sum(map(int,bin(i)[2:]))==n]


                              Try it online!






                              share|improve this answer









                              $endgroup$




                              Python 2, 69 bytes





                              lambda n:[chr(i)for i in range(32,127)if sum(map(int,bin(i)[2:]))==n]


                              Try it online!







                              share|improve this answer












                              share|improve this answer



                              share|improve this answer










                              answered 2 hours ago









                              NeilNeil

                              2,002324




                              2,002324












                              • $begingroup$
                                That's exactly what I got when I golfed my ref implementation. +1
                                $endgroup$
                                – ElPedro
                                2 hours ago


















                              • $begingroup$
                                That's exactly what I got when I golfed my ref implementation. +1
                                $endgroup$
                                – ElPedro
                                2 hours ago
















                              $begingroup$
                              That's exactly what I got when I golfed my ref implementation. +1
                              $endgroup$
                              – ElPedro
                              2 hours ago




                              $begingroup$
                              That's exactly what I got when I golfed my ref implementation. +1
                              $endgroup$
                              – ElPedro
                              2 hours ago











                              2












                              $begingroup$


                              05AB1E, 8 bytes



                              žQʒÇbSOQ


                              Try it online!



                              Explanation



                              žQ        # push the printable ascii characters
                              ʒ # filter, keep elements whose
                              Ç # character code
                              b # converted to binary
                              SO # has a digit sum
                              Q # equal to the input





                              share|improve this answer









                              $endgroup$


















                                2












                                $begingroup$


                                05AB1E, 8 bytes



                                žQʒÇbSOQ


                                Try it online!



                                Explanation



                                žQ        # push the printable ascii characters
                                ʒ # filter, keep elements whose
                                Ç # character code
                                b # converted to binary
                                SO # has a digit sum
                                Q # equal to the input





                                share|improve this answer









                                $endgroup$
















                                  2












                                  2








                                  2





                                  $begingroup$


                                  05AB1E, 8 bytes



                                  žQʒÇbSOQ


                                  Try it online!



                                  Explanation



                                  žQ        # push the printable ascii characters
                                  ʒ # filter, keep elements whose
                                  Ç # character code
                                  b # converted to binary
                                  SO # has a digit sum
                                  Q # equal to the input





                                  share|improve this answer









                                  $endgroup$




                                  05AB1E, 8 bytes



                                  žQʒÇbSOQ


                                  Try it online!



                                  Explanation



                                  žQ        # push the printable ascii characters
                                  ʒ # filter, keep elements whose
                                  Ç # character code
                                  b # converted to binary
                                  SO # has a digit sum
                                  Q # equal to the input






                                  share|improve this answer












                                  share|improve this answer



                                  share|improve this answer










                                  answered 2 hours ago









                                  EmignaEmigna

                                  48.2k434147




                                  48.2k434147























                                      2












                                      $begingroup$


                                      Python 2, 62 bytes





                                      lambda n:[chr(i)for i in range(32,127)if bin(i).count('1')==n]


                                      Try it online!






                                      share|improve this answer









                                      $endgroup$


















                                        2












                                        $begingroup$


                                        Python 2, 62 bytes





                                        lambda n:[chr(i)for i in range(32,127)if bin(i).count('1')==n]


                                        Try it online!






                                        share|improve this answer









                                        $endgroup$
















                                          2












                                          2








                                          2





                                          $begingroup$


                                          Python 2, 62 bytes





                                          lambda n:[chr(i)for i in range(32,127)if bin(i).count('1')==n]


                                          Try it online!






                                          share|improve this answer









                                          $endgroup$




                                          Python 2, 62 bytes





                                          lambda n:[chr(i)for i in range(32,127)if bin(i).count('1')==n]


                                          Try it online!







                                          share|improve this answer












                                          share|improve this answer



                                          share|improve this answer










                                          answered 1 hour ago









                                          LynnLynn

                                          51.2k899234




                                          51.2k899234























                                              2












                                              $begingroup$


                                              Japt, 9 bytes



                                              ;EƶXc¤è1


                                              Try it



                                              ;EƶXc¤è1     :Implicit input of integer U
                                              ;E :Printable ASCII
                                              Æ :Filter each X
                                              ¶ :Test U for equality with
                                              Xc : Character code of X
                                              ¤ : To binary string
                                              è1 : Count the 1s





                                              share|improve this answer









                                              $endgroup$


















                                                2












                                                $begingroup$


                                                Japt, 9 bytes



                                                ;EƶXc¤è1


                                                Try it



                                                ;EƶXc¤è1     :Implicit input of integer U
                                                ;E :Printable ASCII
                                                Æ :Filter each X
                                                ¶ :Test U for equality with
                                                Xc : Character code of X
                                                ¤ : To binary string
                                                è1 : Count the 1s





                                                share|improve this answer









                                                $endgroup$
















                                                  2












                                                  2








                                                  2





                                                  $begingroup$


                                                  Japt, 9 bytes



                                                  ;EƶXc¤è1


                                                  Try it



                                                  ;EƶXc¤è1     :Implicit input of integer U
                                                  ;E :Printable ASCII
                                                  Æ :Filter each X
                                                  ¶ :Test U for equality with
                                                  Xc : Character code of X
                                                  ¤ : To binary string
                                                  è1 : Count the 1s





                                                  share|improve this answer









                                                  $endgroup$




                                                  Japt, 9 bytes



                                                  ;EƶXc¤è1


                                                  Try it



                                                  ;EƶXc¤è1     :Implicit input of integer U
                                                  ;E :Printable ASCII
                                                  Æ :Filter each X
                                                  ¶ :Test U for equality with
                                                  Xc : Character code of X
                                                  ¤ : To binary string
                                                  è1 : Count the 1s






                                                  share|improve this answer












                                                  share|improve this answer



                                                  share|improve this answer










                                                  answered 1 hour ago









                                                  ShaggyShaggy

                                                  19.1k21768




                                                  19.1k21768























                                                      2












                                                      $begingroup$

                                                      Java 8, 131 bytes



                                                      Returns a java.util.stream.Stream<String>



                                                      n->java.util.stream.IntStream.range(32,127).filter(i->Long.toBinaryString(i).chars().map(c->c-48).sum()==n).mapToObj(c->(char)c+"")


                                                      Try it online!


                                                      Using HashSet, 135 bytes. Returns a Set<Object>:



                                                      n->new java.util.HashSet(){{for(int i=31;i++<126;add(Long.toBinaryString(i).chars().map(c->c-48).sum()==n?(char)i+"":""),remove(""));}}


                                                      Try it online!






                                                      share|improve this answer











                                                      $endgroup$


















                                                        2












                                                        $begingroup$

                                                        Java 8, 131 bytes



                                                        Returns a java.util.stream.Stream<String>



                                                        n->java.util.stream.IntStream.range(32,127).filter(i->Long.toBinaryString(i).chars().map(c->c-48).sum()==n).mapToObj(c->(char)c+"")


                                                        Try it online!


                                                        Using HashSet, 135 bytes. Returns a Set<Object>:



                                                        n->new java.util.HashSet(){{for(int i=31;i++<126;add(Long.toBinaryString(i).chars().map(c->c-48).sum()==n?(char)i+"":""),remove(""));}}


                                                        Try it online!






                                                        share|improve this answer











                                                        $endgroup$
















                                                          2












                                                          2








                                                          2





                                                          $begingroup$

                                                          Java 8, 131 bytes



                                                          Returns a java.util.stream.Stream<String>



                                                          n->java.util.stream.IntStream.range(32,127).filter(i->Long.toBinaryString(i).chars().map(c->c-48).sum()==n).mapToObj(c->(char)c+"")


                                                          Try it online!


                                                          Using HashSet, 135 bytes. Returns a Set<Object>:



                                                          n->new java.util.HashSet(){{for(int i=31;i++<126;add(Long.toBinaryString(i).chars().map(c->c-48).sum()==n?(char)i+"":""),remove(""));}}


                                                          Try it online!






                                                          share|improve this answer











                                                          $endgroup$



                                                          Java 8, 131 bytes



                                                          Returns a java.util.stream.Stream<String>



                                                          n->java.util.stream.IntStream.range(32,127).filter(i->Long.toBinaryString(i).chars().map(c->c-48).sum()==n).mapToObj(c->(char)c+"")


                                                          Try it online!


                                                          Using HashSet, 135 bytes. Returns a Set<Object>:



                                                          n->new java.util.HashSet(){{for(int i=31;i++<126;add(Long.toBinaryString(i).chars().map(c->c-48).sum()==n?(char)i+"":""),remove(""));}}


                                                          Try it online!







                                                          share|improve this answer














                                                          share|improve this answer



                                                          share|improve this answer








                                                          edited 1 hour ago

























                                                          answered 2 hours ago









                                                          Benjamin UrquhartBenjamin Urquhart

                                                          688111




                                                          688111























                                                              2












                                                              $begingroup$


                                                              Jelly, 8 bytes



                                                              ØṖOB§=ʋƇ


                                                              Try it online!



                                                              ØṖ       printable ascii character list
                                                              OB to binary
                                                              § popcount
                                                              = equal to input?
                                                              ʋƇ filter (implicitly output)





                                                              share|improve this answer









                                                              $endgroup$


















                                                                2












                                                                $begingroup$


                                                                Jelly, 8 bytes



                                                                ØṖOB§=ʋƇ


                                                                Try it online!



                                                                ØṖ       printable ascii character list
                                                                OB to binary
                                                                § popcount
                                                                = equal to input?
                                                                ʋƇ filter (implicitly output)





                                                                share|improve this answer









                                                                $endgroup$
















                                                                  2












                                                                  2








                                                                  2





                                                                  $begingroup$


                                                                  Jelly, 8 bytes



                                                                  ØṖOB§=ʋƇ


                                                                  Try it online!



                                                                  ØṖ       printable ascii character list
                                                                  OB to binary
                                                                  § popcount
                                                                  = equal to input?
                                                                  ʋƇ filter (implicitly output)





                                                                  share|improve this answer









                                                                  $endgroup$




                                                                  Jelly, 8 bytes



                                                                  ØṖOB§=ʋƇ


                                                                  Try it online!



                                                                  ØṖ       printable ascii character list
                                                                  OB to binary
                                                                  § popcount
                                                                  = equal to input?
                                                                  ʋƇ filter (implicitly output)






                                                                  share|improve this answer












                                                                  share|improve this answer



                                                                  share|improve this answer










                                                                  answered 1 hour ago









                                                                  ZylviijZylviij

                                                                  32014




                                                                  32014























                                                                      2












                                                                      $begingroup$


                                                                      JavaScript (Node.js),  70  69 bytes





                                                                      n=>(g=x=>x>>7?'':Buffer((h=x=>x&&x%2+h(x>>1))(x)-n?0:[x])+g(x+1))(32)


                                                                      Try it online!






                                                                      share|improve this answer











                                                                      $endgroup$


















                                                                        2












                                                                        $begingroup$


                                                                        JavaScript (Node.js),  70  69 bytes





                                                                        n=>(g=x=>x>>7?'':Buffer((h=x=>x&&x%2+h(x>>1))(x)-n?0:[x])+g(x+1))(32)


                                                                        Try it online!






                                                                        share|improve this answer











                                                                        $endgroup$
















                                                                          2












                                                                          2








                                                                          2





                                                                          $begingroup$


                                                                          JavaScript (Node.js),  70  69 bytes





                                                                          n=>(g=x=>x>>7?'':Buffer((h=x=>x&&x%2+h(x>>1))(x)-n?0:[x])+g(x+1))(32)


                                                                          Try it online!






                                                                          share|improve this answer











                                                                          $endgroup$




                                                                          JavaScript (Node.js),  70  69 bytes





                                                                          n=>(g=x=>x>>7?'':Buffer((h=x=>x&&x%2+h(x>>1))(x)-n?0:[x])+g(x+1))(32)


                                                                          Try it online!







                                                                          share|improve this answer














                                                                          share|improve this answer



                                                                          share|improve this answer








                                                                          edited 1 hour ago

























                                                                          answered 1 hour ago









                                                                          ArnauldArnauld

                                                                          81.9k798337




                                                                          81.9k798337























                                                                              1












                                                                              $begingroup$


                                                                              Wolfram Language (Mathematica), 70 bytes



                                                                              FromCharacterCode/@Select[32~Range~126,s=#;Tr@IntegerDigits[#,2]==s&]&


                                                                              Try it online!






                                                                              share|improve this answer









                                                                              $endgroup$


















                                                                                1












                                                                                $begingroup$


                                                                                Wolfram Language (Mathematica), 70 bytes



                                                                                FromCharacterCode/@Select[32~Range~126,s=#;Tr@IntegerDigits[#,2]==s&]&


                                                                                Try it online!






                                                                                share|improve this answer









                                                                                $endgroup$
















                                                                                  1












                                                                                  1








                                                                                  1





                                                                                  $begingroup$


                                                                                  Wolfram Language (Mathematica), 70 bytes



                                                                                  FromCharacterCode/@Select[32~Range~126,s=#;Tr@IntegerDigits[#,2]==s&]&


                                                                                  Try it online!






                                                                                  share|improve this answer









                                                                                  $endgroup$




                                                                                  Wolfram Language (Mathematica), 70 bytes



                                                                                  FromCharacterCode/@Select[32~Range~126,s=#;Tr@IntegerDigits[#,2]==s&]&


                                                                                  Try it online!







                                                                                  share|improve this answer












                                                                                  share|improve this answer



                                                                                  share|improve this answer










                                                                                  answered 2 hours ago









                                                                                  J42161217J42161217

                                                                                  14.3k21354




                                                                                  14.3k21354























                                                                                      1












                                                                                      $begingroup$


                                                                                      Gaia, 10 bytes



                                                                                      ₵R⟪¤cbΣ=⟫⁇


                                                                                      Try it online!



                                                                                      		| implicit input, n
                                                                                      ₵R | push printable ascii
                                                                                      ⟪ ⟫⁇ | filter the list where:
                                                                                      ¤cbΣ | the sum of the code point in binary
                                                                                      = | is equal to n





                                                                                      share|improve this answer









                                                                                      $endgroup$


















                                                                                        1












                                                                                        $begingroup$


                                                                                        Gaia, 10 bytes



                                                                                        ₵R⟪¤cbΣ=⟫⁇


                                                                                        Try it online!



                                                                                        		| implicit input, n
                                                                                        ₵R | push printable ascii
                                                                                        ⟪ ⟫⁇ | filter the list where:
                                                                                        ¤cbΣ | the sum of the code point in binary
                                                                                        = | is equal to n





                                                                                        share|improve this answer









                                                                                        $endgroup$
















                                                                                          1












                                                                                          1








                                                                                          1





                                                                                          $begingroup$


                                                                                          Gaia, 10 bytes



                                                                                          ₵R⟪¤cbΣ=⟫⁇


                                                                                          Try it online!



                                                                                          		| implicit input, n
                                                                                          ₵R | push printable ascii
                                                                                          ⟪ ⟫⁇ | filter the list where:
                                                                                          ¤cbΣ | the sum of the code point in binary
                                                                                          = | is equal to n





                                                                                          share|improve this answer









                                                                                          $endgroup$




                                                                                          Gaia, 10 bytes



                                                                                          ₵R⟪¤cbΣ=⟫⁇


                                                                                          Try it online!



                                                                                          		| implicit input, n
                                                                                          ₵R | push printable ascii
                                                                                          ⟪ ⟫⁇ | filter the list where:
                                                                                          ¤cbΣ | the sum of the code point in binary
                                                                                          = | is equal to n






                                                                                          share|improve this answer












                                                                                          share|improve this answer



                                                                                          share|improve this answer










                                                                                          answered 1 hour ago









                                                                                          GiuseppeGiuseppe

                                                                                          18k31155




                                                                                          18k31155























                                                                                              1












                                                                                              $begingroup$

                                                                                              Dyalog APL Extended, 24 bytes



                                                                                              ⎕ucs a⌿⍨(+⌿2⊤a←32…126)∘=


                                                                                              Try it online!



                                                                                              25 bytes in dzaima/APL:



                                                                                              ⎕ucs a⌿⍨(+/¨2⊤¨a←32…126)=


                                                                                              Try it online!






                                                                                              share|improve this answer











                                                                                              $endgroup$


















                                                                                                1












                                                                                                $begingroup$

                                                                                                Dyalog APL Extended, 24 bytes



                                                                                                ⎕ucs a⌿⍨(+⌿2⊤a←32…126)∘=


                                                                                                Try it online!



                                                                                                25 bytes in dzaima/APL:



                                                                                                ⎕ucs a⌿⍨(+/¨2⊤¨a←32…126)=


                                                                                                Try it online!






                                                                                                share|improve this answer











                                                                                                $endgroup$
















                                                                                                  1












                                                                                                  1








                                                                                                  1





                                                                                                  $begingroup$

                                                                                                  Dyalog APL Extended, 24 bytes



                                                                                                  ⎕ucs a⌿⍨(+⌿2⊤a←32…126)∘=


                                                                                                  Try it online!



                                                                                                  25 bytes in dzaima/APL:



                                                                                                  ⎕ucs a⌿⍨(+/¨2⊤¨a←32…126)=


                                                                                                  Try it online!






                                                                                                  share|improve this answer











                                                                                                  $endgroup$



                                                                                                  Dyalog APL Extended, 24 bytes



                                                                                                  ⎕ucs a⌿⍨(+⌿2⊤a←32…126)∘=


                                                                                                  Try it online!



                                                                                                  25 bytes in dzaima/APL:



                                                                                                  ⎕ucs a⌿⍨(+/¨2⊤¨a←32…126)=


                                                                                                  Try it online!







                                                                                                  share|improve this answer














                                                                                                  share|improve this answer



                                                                                                  share|improve this answer








                                                                                                  edited 1 hour ago

























                                                                                                  answered 1 hour ago









                                                                                                  dzaimadzaima

                                                                                                  16.1k22060




                                                                                                  16.1k22060























                                                                                                      1












                                                                                                      $begingroup$

                                                                                                      8088 assembly, IBM PC DOS, 35 34 bytes



                                                                                                      Machine code:



                                                                                                      be81 00ad 80ec 308a f433 db8a c8d0 e973 0143 75f9 3af3 7504 b40e cd10 403c 7e7e e8c3


                                                                                                      Listing:



                                                                                                      BE 0081     MOV  SI, 081H   ; address of DOS PSP command line
                                                                                                      AD LODSW ; load space (20H) and value from command line
                                                                                                      80 EC 30 SUB AH, '0' ; convert to numeric value
                                                                                                      8A F4 MOV DH, AH ; AL = counter, DH = target value
                                                                                                      CHR_LOOP:
                                                                                                      33 DB XOR BX, BX ; clear bit counter
                                                                                                      8A C8 MOV CL, AL ; current char to CL for test
                                                                                                      BIT_LOOP:
                                                                                                      D0 E9 SHR CL, 1 ; shift LSB to CF
                                                                                                      73 01 JNC EBIT_LOOP ; if LSB = 0, don't increment
                                                                                                      43 INC BX ; increment '1' bit counter
                                                                                                      EBIT_LOOP:
                                                                                                      75 F9 JNZ BIT_LOOP ; loop until CL = 0
                                                                                                      3A F3 CMP DH, BL ; is current char the target value?
                                                                                                      75 04 JNE ECHR_LOOP ; if not, do not display
                                                                                                      B4 0E MOV AH, 0EH ; BIOS write char function
                                                                                                      CD 10 INT 10H ; write AL to screen
                                                                                                      ECHR_LOOP:
                                                                                                      40 INC AX ; increment char loop
                                                                                                      3C 7E CMP AL, 126 ; is char <= 126?
                                                                                                      7E E8 JLE CHR_LOOP ; if so, keep looping
                                                                                                      C3 RET ; return to DOS


                                                                                                      Standalone PC DOS executable program, input number from command line. Output is displayed to console window.



                                                                                                      enter image description here



                                                                                                      Download and test ABCT.COM.






                                                                                                      share|improve this answer











                                                                                                      $endgroup$


















                                                                                                        1












                                                                                                        $begingroup$

                                                                                                        8088 assembly, IBM PC DOS, 35 34 bytes



                                                                                                        Machine code:



                                                                                                        be81 00ad 80ec 308a f433 db8a c8d0 e973 0143 75f9 3af3 7504 b40e cd10 403c 7e7e e8c3


                                                                                                        Listing:



                                                                                                        BE 0081     MOV  SI, 081H   ; address of DOS PSP command line
                                                                                                        AD LODSW ; load space (20H) and value from command line
                                                                                                        80 EC 30 SUB AH, '0' ; convert to numeric value
                                                                                                        8A F4 MOV DH, AH ; AL = counter, DH = target value
                                                                                                        CHR_LOOP:
                                                                                                        33 DB XOR BX, BX ; clear bit counter
                                                                                                        8A C8 MOV CL, AL ; current char to CL for test
                                                                                                        BIT_LOOP:
                                                                                                        D0 E9 SHR CL, 1 ; shift LSB to CF
                                                                                                        73 01 JNC EBIT_LOOP ; if LSB = 0, don't increment
                                                                                                        43 INC BX ; increment '1' bit counter
                                                                                                        EBIT_LOOP:
                                                                                                        75 F9 JNZ BIT_LOOP ; loop until CL = 0
                                                                                                        3A F3 CMP DH, BL ; is current char the target value?
                                                                                                        75 04 JNE ECHR_LOOP ; if not, do not display
                                                                                                        B4 0E MOV AH, 0EH ; BIOS write char function
                                                                                                        CD 10 INT 10H ; write AL to screen
                                                                                                        ECHR_LOOP:
                                                                                                        40 INC AX ; increment char loop
                                                                                                        3C 7E CMP AL, 126 ; is char <= 126?
                                                                                                        7E E8 JLE CHR_LOOP ; if so, keep looping
                                                                                                        C3 RET ; return to DOS


                                                                                                        Standalone PC DOS executable program, input number from command line. Output is displayed to console window.



                                                                                                        enter image description here



                                                                                                        Download and test ABCT.COM.






                                                                                                        share|improve this answer











                                                                                                        $endgroup$
















                                                                                                          1












                                                                                                          1








                                                                                                          1





                                                                                                          $begingroup$

                                                                                                          8088 assembly, IBM PC DOS, 35 34 bytes



                                                                                                          Machine code:



                                                                                                          be81 00ad 80ec 308a f433 db8a c8d0 e973 0143 75f9 3af3 7504 b40e cd10 403c 7e7e e8c3


                                                                                                          Listing:



                                                                                                          BE 0081     MOV  SI, 081H   ; address of DOS PSP command line
                                                                                                          AD LODSW ; load space (20H) and value from command line
                                                                                                          80 EC 30 SUB AH, '0' ; convert to numeric value
                                                                                                          8A F4 MOV DH, AH ; AL = counter, DH = target value
                                                                                                          CHR_LOOP:
                                                                                                          33 DB XOR BX, BX ; clear bit counter
                                                                                                          8A C8 MOV CL, AL ; current char to CL for test
                                                                                                          BIT_LOOP:
                                                                                                          D0 E9 SHR CL, 1 ; shift LSB to CF
                                                                                                          73 01 JNC EBIT_LOOP ; if LSB = 0, don't increment
                                                                                                          43 INC BX ; increment '1' bit counter
                                                                                                          EBIT_LOOP:
                                                                                                          75 F9 JNZ BIT_LOOP ; loop until CL = 0
                                                                                                          3A F3 CMP DH, BL ; is current char the target value?
                                                                                                          75 04 JNE ECHR_LOOP ; if not, do not display
                                                                                                          B4 0E MOV AH, 0EH ; BIOS write char function
                                                                                                          CD 10 INT 10H ; write AL to screen
                                                                                                          ECHR_LOOP:
                                                                                                          40 INC AX ; increment char loop
                                                                                                          3C 7E CMP AL, 126 ; is char <= 126?
                                                                                                          7E E8 JLE CHR_LOOP ; if so, keep looping
                                                                                                          C3 RET ; return to DOS


                                                                                                          Standalone PC DOS executable program, input number from command line. Output is displayed to console window.



                                                                                                          enter image description here



                                                                                                          Download and test ABCT.COM.






                                                                                                          share|improve this answer











                                                                                                          $endgroup$



                                                                                                          8088 assembly, IBM PC DOS, 35 34 bytes



                                                                                                          Machine code:



                                                                                                          be81 00ad 80ec 308a f433 db8a c8d0 e973 0143 75f9 3af3 7504 b40e cd10 403c 7e7e e8c3


                                                                                                          Listing:



                                                                                                          BE 0081     MOV  SI, 081H   ; address of DOS PSP command line
                                                                                                          AD LODSW ; load space (20H) and value from command line
                                                                                                          80 EC 30 SUB AH, '0' ; convert to numeric value
                                                                                                          8A F4 MOV DH, AH ; AL = counter, DH = target value
                                                                                                          CHR_LOOP:
                                                                                                          33 DB XOR BX, BX ; clear bit counter
                                                                                                          8A C8 MOV CL, AL ; current char to CL for test
                                                                                                          BIT_LOOP:
                                                                                                          D0 E9 SHR CL, 1 ; shift LSB to CF
                                                                                                          73 01 JNC EBIT_LOOP ; if LSB = 0, don't increment
                                                                                                          43 INC BX ; increment '1' bit counter
                                                                                                          EBIT_LOOP:
                                                                                                          75 F9 JNZ BIT_LOOP ; loop until CL = 0
                                                                                                          3A F3 CMP DH, BL ; is current char the target value?
                                                                                                          75 04 JNE ECHR_LOOP ; if not, do not display
                                                                                                          B4 0E MOV AH, 0EH ; BIOS write char function
                                                                                                          CD 10 INT 10H ; write AL to screen
                                                                                                          ECHR_LOOP:
                                                                                                          40 INC AX ; increment char loop
                                                                                                          3C 7E CMP AL, 126 ; is char <= 126?
                                                                                                          7E E8 JLE CHR_LOOP ; if so, keep looping
                                                                                                          C3 RET ; return to DOS


                                                                                                          Standalone PC DOS executable program, input number from command line. Output is displayed to console window.



                                                                                                          enter image description here



                                                                                                          Download and test ABCT.COM.







                                                                                                          share|improve this answer














                                                                                                          share|improve this answer



                                                                                                          share|improve this answer








                                                                                                          edited 9 mins ago

























                                                                                                          answered 51 mins ago









                                                                                                          gwaughgwaugh

                                                                                                          2,4481519




                                                                                                          2,4481519























                                                                                                              0












                                                                                                              $begingroup$


                                                                                                              PowerShell, 83 bytes





                                                                                                              param($n)[char[]](32..126|?{([convert]::ToString($_,2)|% t*y|group)[1].count-eq$n})


                                                                                                              Try it online!



                                                                                                              Takes input $n, constructs a range from 32 to 126 and pulls out those numbers where |?{}: the number, converted ToString in base 2; converted toCharArray; grouped into 0s and 1s; taking the [1] index of that grouping; taking the .count thereof, and checking that it's -equal to our input $number. Those numbers are then cast as a char-array and left on the pipeline. Output is implicit, with newlines between elements.






                                                                                                              share|improve this answer









                                                                                                              $endgroup$


















                                                                                                                0












                                                                                                                $begingroup$


                                                                                                                PowerShell, 83 bytes





                                                                                                                param($n)[char[]](32..126|?{([convert]::ToString($_,2)|% t*y|group)[1].count-eq$n})


                                                                                                                Try it online!



                                                                                                                Takes input $n, constructs a range from 32 to 126 and pulls out those numbers where |?{}: the number, converted ToString in base 2; converted toCharArray; grouped into 0s and 1s; taking the [1] index of that grouping; taking the .count thereof, and checking that it's -equal to our input $number. Those numbers are then cast as a char-array and left on the pipeline. Output is implicit, with newlines between elements.






                                                                                                                share|improve this answer









                                                                                                                $endgroup$
















                                                                                                                  0












                                                                                                                  0








                                                                                                                  0





                                                                                                                  $begingroup$


                                                                                                                  PowerShell, 83 bytes





                                                                                                                  param($n)[char[]](32..126|?{([convert]::ToString($_,2)|% t*y|group)[1].count-eq$n})


                                                                                                                  Try it online!



                                                                                                                  Takes input $n, constructs a range from 32 to 126 and pulls out those numbers where |?{}: the number, converted ToString in base 2; converted toCharArray; grouped into 0s and 1s; taking the [1] index of that grouping; taking the .count thereof, and checking that it's -equal to our input $number. Those numbers are then cast as a char-array and left on the pipeline. Output is implicit, with newlines between elements.






                                                                                                                  share|improve this answer









                                                                                                                  $endgroup$




                                                                                                                  PowerShell, 83 bytes





                                                                                                                  param($n)[char[]](32..126|?{([convert]::ToString($_,2)|% t*y|group)[1].count-eq$n})


                                                                                                                  Try it online!



                                                                                                                  Takes input $n, constructs a range from 32 to 126 and pulls out those numbers where |?{}: the number, converted ToString in base 2; converted toCharArray; grouped into 0s and 1s; taking the [1] index of that grouping; taking the .count thereof, and checking that it's -equal to our input $number. Those numbers are then cast as a char-array and left on the pipeline. Output is implicit, with newlines between elements.







                                                                                                                  share|improve this answer












                                                                                                                  share|improve this answer



                                                                                                                  share|improve this answer










                                                                                                                  answered 1 hour ago









                                                                                                                  AdmBorkBorkAdmBorkBork

                                                                                                                  28k468241




                                                                                                                  28k468241























                                                                                                                      0












                                                                                                                      $begingroup$


                                                                                                                      Ruby, 48 bytes





                                                                                                                      ->n{(' '..?~).select{|x|x.ord.digits(2).sum==n}}


                                                                                                                      Try it online!






                                                                                                                      share|improve this answer









                                                                                                                      $endgroup$


















                                                                                                                        0












                                                                                                                        $begingroup$


                                                                                                                        Ruby, 48 bytes





                                                                                                                        ->n{(' '..?~).select{|x|x.ord.digits(2).sum==n}}


                                                                                                                        Try it online!






                                                                                                                        share|improve this answer









                                                                                                                        $endgroup$
















                                                                                                                          0












                                                                                                                          0








                                                                                                                          0





                                                                                                                          $begingroup$


                                                                                                                          Ruby, 48 bytes





                                                                                                                          ->n{(' '..?~).select{|x|x.ord.digits(2).sum==n}}


                                                                                                                          Try it online!






                                                                                                                          share|improve this answer









                                                                                                                          $endgroup$




                                                                                                                          Ruby, 48 bytes





                                                                                                                          ->n{(' '..?~).select{|x|x.ord.digits(2).sum==n}}


                                                                                                                          Try it online!







                                                                                                                          share|improve this answer












                                                                                                                          share|improve this answer



                                                                                                                          share|improve this answer










                                                                                                                          answered 1 hour ago









                                                                                                                          G BG B

                                                                                                                          8,3161429




                                                                                                                          8,3161429























                                                                                                                              0












                                                                                                                              $begingroup$


                                                                                                                              Perl 5 -a, 50 bytes





                                                                                                                              map{(sprintf'%b',$_)=~y/1//-$F[0]||say chr}32..126


                                                                                                                              Try it online!






                                                                                                                              share|improve this answer









                                                                                                                              $endgroup$


















                                                                                                                                0












                                                                                                                                $begingroup$


                                                                                                                                Perl 5 -a, 50 bytes





                                                                                                                                map{(sprintf'%b',$_)=~y/1//-$F[0]||say chr}32..126


                                                                                                                                Try it online!






                                                                                                                                share|improve this answer









                                                                                                                                $endgroup$
















                                                                                                                                  0












                                                                                                                                  0








                                                                                                                                  0





                                                                                                                                  $begingroup$


                                                                                                                                  Perl 5 -a, 50 bytes





                                                                                                                                  map{(sprintf'%b',$_)=~y/1//-$F[0]||say chr}32..126


                                                                                                                                  Try it online!






                                                                                                                                  share|improve this answer









                                                                                                                                  $endgroup$




                                                                                                                                  Perl 5 -a, 50 bytes





                                                                                                                                  map{(sprintf'%b',$_)=~y/1//-$F[0]||say chr}32..126


                                                                                                                                  Try it online!







                                                                                                                                  share|improve this answer












                                                                                                                                  share|improve this answer



                                                                                                                                  share|improve this answer










                                                                                                                                  answered 50 mins ago









                                                                                                                                  XcaliXcali

                                                                                                                                  5,525521




                                                                                                                                  5,525521























                                                                                                                                      0












                                                                                                                                      $begingroup$


                                                                                                                                      Charcoal, 10 bytes



                                                                                                                                      Φγ⁼Σ↨℅ι²Iθ


                                                                                                                                      Try it online! Link is to verbose version of code. Explanation:



                                                                                                                                       γ          Predefined ASCII characters
                                                                                                                                      Φ Filtered by
                                                                                                                                      ι Current character's
                                                                                                                                      ℅ ASCII code
                                                                                                                                      ↨ Converted to base
                                                                                                                                      ² Literal 2
                                                                                                                                      Σ Summed
                                                                                                                                      ⁼ Equals
                                                                                                                                      θ First input
                                                                                                                                      I Cast to integer
                                                                                                                                      Implicitly printed





                                                                                                                                      share|improve this answer









                                                                                                                                      $endgroup$


















                                                                                                                                        0












                                                                                                                                        $begingroup$


                                                                                                                                        Charcoal, 10 bytes



                                                                                                                                        Φγ⁼Σ↨℅ι²Iθ


                                                                                                                                        Try it online! Link is to verbose version of code. Explanation:



                                                                                                                                         γ          Predefined ASCII characters
                                                                                                                                        Φ Filtered by
                                                                                                                                        ι Current character's
                                                                                                                                        ℅ ASCII code
                                                                                                                                        ↨ Converted to base
                                                                                                                                        ² Literal 2
                                                                                                                                        Σ Summed
                                                                                                                                        ⁼ Equals
                                                                                                                                        θ First input
                                                                                                                                        I Cast to integer
                                                                                                                                        Implicitly printed





                                                                                                                                        share|improve this answer









                                                                                                                                        $endgroup$
















                                                                                                                                          0












                                                                                                                                          0








                                                                                                                                          0





                                                                                                                                          $begingroup$


                                                                                                                                          Charcoal, 10 bytes



                                                                                                                                          Φγ⁼Σ↨℅ι²Iθ


                                                                                                                                          Try it online! Link is to verbose version of code. Explanation:



                                                                                                                                           γ          Predefined ASCII characters
                                                                                                                                          Φ Filtered by
                                                                                                                                          ι Current character's
                                                                                                                                          ℅ ASCII code
                                                                                                                                          ↨ Converted to base
                                                                                                                                          ² Literal 2
                                                                                                                                          Σ Summed
                                                                                                                                          ⁼ Equals
                                                                                                                                          θ First input
                                                                                                                                          I Cast to integer
                                                                                                                                          Implicitly printed





                                                                                                                                          share|improve this answer









                                                                                                                                          $endgroup$




                                                                                                                                          Charcoal, 10 bytes



                                                                                                                                          Φγ⁼Σ↨℅ι²Iθ


                                                                                                                                          Try it online! Link is to verbose version of code. Explanation:



                                                                                                                                           γ          Predefined ASCII characters
                                                                                                                                          Φ Filtered by
                                                                                                                                          ι Current character's
                                                                                                                                          ℅ ASCII code
                                                                                                                                          ↨ Converted to base
                                                                                                                                          ² Literal 2
                                                                                                                                          Σ Summed
                                                                                                                                          ⁼ Equals
                                                                                                                                          θ First input
                                                                                                                                          I Cast to integer
                                                                                                                                          Implicitly printed






                                                                                                                                          share|improve this answer












                                                                                                                                          share|improve this answer



                                                                                                                                          share|improve this answer










                                                                                                                                          answered 33 mins ago









                                                                                                                                          NeilNeil

                                                                                                                                          83.2k745179




                                                                                                                                          83.2k745179






























                                                                                                                                              draft saved

                                                                                                                                              draft discarded




















































                                                                                                                                              If this is an answer to a challenge…




                                                                                                                                              • …Be sure to follow the challenge specification. However, please refrain from exploiting obvious loopholes. Answers abusing any of the standard loopholes are considered invalid. If you think a specification is unclear or underspecified, comment on the question instead.


                                                                                                                                              • …Try to optimize your score. For instance, answers to code-golf challenges should attempt to be as short as possible. You can always include a readable version of the code in addition to the competitive one.
                                                                                                                                                Explanations of your answer make it more interesting to read and are very much encouraged.


                                                                                                                                              • …Include a short header which indicates the language(s) of your code and its score, as defined by the challenge.



                                                                                                                                              More generally…




                                                                                                                                              • …Please make sure to answer the question and provide sufficient detail.


                                                                                                                                              • …Avoid asking for help, clarification or responding to other answers (use comments instead).





                                                                                                                                              draft saved


                                                                                                                                              draft discarded














                                                                                                                                              StackExchange.ready(
                                                                                                                                              function () {
                                                                                                                                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f183625%2fall-ascii-characters-with-a-given-bit-count%23new-answer', 'question_page');
                                                                                                                                              }
                                                                                                                                              );

                                                                                                                                              Post as a guest















                                                                                                                                              Required, but never shown





















































                                                                                                                                              Required, but never shown














                                                                                                                                              Required, but never shown












                                                                                                                                              Required, but never shown







                                                                                                                                              Required, but never shown

































                                                                                                                                              Required, but never shown














                                                                                                                                              Required, but never shown












                                                                                                                                              Required, but never shown







                                                                                                                                              Required, but never shown







                                                                                                                                              Popular posts from this blog

                                                                                                                                              迭戈·戈丁...

                                                                                                                                              A phrase ”follow into" in a context The 2019 Stack Overflow Developer Survey Results Are...

                                                                                                                                              1960s short story making fun of James Bond-style spy fiction The 2019 Stack Overflow Developer...