Convertir de 0 à 1 et Vice-Versa
M'a demandé dans une interview : comment faire pour convertir de 0 à 1 et de 1 à 0. Je lui ai répondu :
- Simple
if
etswitch
- L'inversion de bits.
Sont là c'est une autre approche?
Qu'entendez-vous par "l'inversion de bits", spécifiquement?
Ne savait pas que Java est un langage agnostique. Cool.
naturel indépendant de la langue peut-être 😉
Ainsi, le code java est préférable, mais ce n'est vraiment pas à propos de java.
drelihan: C'est un test pour voir si ils sont d'une architecture de l'astronaute, ou un programmeur. Ils sont à la recherche pour voir si vous dessinez un diagramme UML et commencer à parler de WSDL.
Ne savait pas que Java est un langage agnostique. Cool.
naturel indépendant de la langue peut-être 😉
Ainsi, le code java est préférable, mais ce n'est vraiment pas à propos de java.
drelihan: C'est un test pour voir si ils sont d'une architecture de l'astronaute, ou un programmeur. Ils sont à la recherche pour voir si vous dessinez un diagramme UML et commencer à parler de WSDL.
OriginalL'auteur javaguy | 2010-05-06
Vous devez vous connecter pour publier un commentaire.
Quelques possibilités évidentes:
!n
n'est pas fiable 1 => 0, 0 => 1 dans une langue de façon agnostique (dans certaines langues, !0 = -1); en Java, il n'a même pas de travail ("opérateur de ! ne peut pas être appliqué à l'int").vrai-presque pas de notation que vous pouvez utiliser est vraiment la langue agnostique. Je ne pense pas que l'un de ces est Régime juridique -- alors, bien sûr, je l'ai écrit dans un langage véritable, et a ignoré les "Java" tag comme une erreur évidente. 🙂
est l'opérateur xor dans la plupart des langues.
De ce nombre, seulement
1-n
etn xor 1
sont de langue agnostique en ce sens qu'ils traitent avec des valeurs entières. Tous les autres mix entiers avec l'opérateur booléen résultats, ce qui les rend impropres fortement typées langues.si ^ est la puissance de l'opérateur, puis 0 ^ 0 n'est pas défini (mathématiquement, voir mathworld.wolfram.com/Power.html).
OriginalL'auteur Jerry Coffin
Arithmétique Simple:
En fait, il existe un nombre infini de polynômes qui va de la carte de 1 à 0 et vice versa. Par exemple:
x^5 - x^4 + x^2 - 2x + 1
. Maisx^n = x
pourx = 0 or 1
, de sorte qu'il simplifie encore àx - x + x -2x + 1
qui est juste1 - x
. (Au cas où quelqu'un n'était pas certain qu'ils pourraient vraiment utiliser le second polynôme.)OriginalL'auteur Sean
Table de recherche:
Et plus tard:
Ouais, sérieusement.
C'est une totalement génial réponse. Je l'aime parce que ses le moins mathématique. En outre, contrairement aux autres réponses on va à l'échec si le domaine et la portée sont en dehors de 0-1 ala échouer rapidement mais pas en douceur. +1
OriginalL'auteur Sean
Prendre un trombone. Redresser. C'est un 1. Plier à répondre à ses extrémités. C'est un 0. Pour en faire un 1, le redresser.
Je ne pense pas que Java est assez puissant pour le faire.
Vous avez probablement besoin de trouver un intégré robot lisp pour vraiment faire le travail. Seulement Incorporé Robot Lisps ont le pouvoir de transformer réellement les 0 en 1 et vice-versa.
OriginalL'auteur Paul Nathan
ils pensaient sûrement que vous utilisez not au niveau du bit
OriginalL'auteur Vlad Gudim
Certains Trig:
COS(PI * N)^2
En python
Je ne peux pas croire que les gens ont oublié module:
cos(n*pi/2)
+1: j'adore !
OriginalL'auteur Adam Gent
Ce n'est pas la meilleure, mais elle fonctionne:
Est Stephen Wolfram une quelconque autorité sur les mathématiques? Jetez un oeil à cet article pour voir un peu les opinions divergentes: en.wikipedia.org/wiki/Exponentiation#Zero_to_the_zero_power
Doyle: Oui, compter sur Wikipédia pour présenter tous les points de vue simultanément. C'est l'équivalent internet de la Total point de vue Vortex.
J'aime cette explication betterexplained.com/articles/...
Ça dépend de quel genre de mathématiques et la nature de la question est-il un "GUT" pour les mathématiques qui, je crois, Godel fait douteux. Un bon livre sur ce qui est "Dieu Est-il Mathématicien?" amazon.com/God-Mathematician-Mario-Livio/dp/074329405X je veux dire, il y a même certains philosophes/mathématiciens qui pense que nous devrions réduction de l'induction.
OriginalL'auteur Dinah
Je suppose que vous pourriez faire de l'ABS(VAR - 1) mais je pense que vos méthodes sont plus élégant
OriginalL'auteur JP.
J'ai utilisé
-~-n
en JavaScript.Il convertit 1 à -1, qui est représenté comme
11111111
, puis retourne les bits à00000000
est de 0. Le deuxième signe négatif n'affecte pas le 0. D'autre part, sin
est 0, le premier signe négatif n'a aucun effet, le tilde retourne les bits, et le deuxième signe négatif convertit de -1 à 1.OriginalL'auteur x23
Cela devrait fonctionner pour toutes les deux chiffres...
(EDIT: en regardant les autres réponses j'ai peut-être mal lu la question... mais j'ai tout de même ma réponse 🙂
OriginalL'auteur TofuBeer